AlgoTrackr is a personal LeetCode performance tracker that allows users to track their coding session timing, accuracy, and self-assessment of particular topics. It is designed for local deployment, making it easy to clone and run without external dependencies.
- Session Tracking: Records session time, accuracy, and mood.
- Statistics Dashboard: View historical performance trends.
- Local Deployment: Fully self-contained with local Postgres database support.
- Customizable: Modify and extend for personal use.
git clone https://github.com/your-username/algotrackr.git
cd algotrackr
- Navigate to the backend directory:
cd backend
-
Install dependencies:
go mod tidy
-
Configure the database connection in
main.go
:db, err = sql.Open("postgres", "user=your_user password=your_password dbname=algotrackr sslmode=disable")
Replace
your_user
,your_password
, andalgotrackr
with your Postgres credentials and desired database name. -
Run the backend:
go run main.go
The backend will run on
http://localhost:8080
by default.
-
Navigate to the frontend directory:
cd ../frontend/leettrack
-
Install dependencies:
npm install
-
Update the
.env
file:REACT_APP_API_URL=http://localhost:8080
-
Run the frontend:
npm start
The frontend will run on
http://localhost:3000
by default.
-
Install Postgres:
- Linux: Use your package manager (e.g.,
sudo apt install postgresql
) - macOS: Use Homebrew (
brew install postgresql
) - Windows: Download the installer from the official website.
- Linux: Use your package manager (e.g.,
-
Start the Postgres service:
# For Linux/macOS sudo service postgresql start # For Windows, start from the Services app
-
Create a database:
psql -U postgres CREATE DATABASE algotrackr; CREATE USER your_user WITH PASSWORD 'your_password'; GRANT ALL PRIVILEGES ON DATABASE algotrackr TO your_user; \q
-
Initialize the database schema:
psql -U your_user -d algotrackr -f backend/schema.sql
Replace
your_user
with your Postgres username.
-
Start the backend:
cd backend go run main.go
-
Start the frontend:
cd frontend/leettrack npm start
-
Open your browser and navigate to:
http://localhost:3000
Feel free to modify the project to fit your needs:
- Frontend: Update React components in the
src
directory. - Backend: Extend the API or change the logic in the
backend
folder. - Database: Modify the schema to add new features.
Contributions are welcome! Please submit a pull request or open an issue if you encounter any bugs or have feature suggestions.
This project is licensed under the MIT License. See the LICENSE
file for details.