Skip to content

Latest commit

Β 

History

History
143 lines (101 loc) Β· 2.62 KB

README.md

File metadata and controls

143 lines (101 loc) Β· 2.62 KB
# πŸš€ Programmer Progress Tracker

A **full-stack web application** that helps programmers track their coding practice **topic-wise**, analyze strengths and weaknesses, and visualize progress using interactive dashboards.

This project is built as an **academic mini-project / portfolio project** inspired by modern coding analytics platforms.

---

## πŸ“Œ Project Overview

The **Programmer Progress Tracker** allows users to:
- Log solved programming problems
- Categorize problems by topics such as Arrays, DP, Database, etc.
- Track difficulty levels
- View visual analytics to understand learning progress

---

## ✨ Features

- πŸ” User Authentication (Login / Signup)
- βž• Add solved programming problems
- 🧠 Topic-wise tracking (Array, DP, Graph, DB, etc.)
- πŸ“Š Analytics Dashboard  
  - Bar chart: Problems per topic  
  - Pie chart: Topic distribution
- 🎯 Difficulty-wise analysis (Easy / Medium / Hard)
- πŸ“… Track problem-solving history

---

## πŸ› οΈ Tech Stack

### Frontend
- React
- TypeScript
- Vite
- Tailwind CSS
- shadcn/ui

### Backend
- Node.js
- Express.js

### Database
- MongoDB (Mongoose)

### Charts
- Chart.js

---

## πŸ“‚ Project Structure

```text
β”œβ”€β”€ client/          # Frontend (React)
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ services/
β”‚   └── App.tsx
β”‚
β”œβ”€β”€ server/          # Backend (Node + Express)
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ routes/
β”‚   └── index.js
β”‚
β”œβ”€β”€ README.md
└── package.json

βš™οΈ How to Run Locally

Prerequisites

  • Node.js (v16+ recommended)
  • npm
  • MongoDB (local or Atlas)

Steps

# 1. Clone the repository
git clone <YOUR_GIT_URL>

# 2. Navigate into the project
cd <YOUR_PROJECT_NAME>

# 3. Install dependencies
npm install

# 4. Start the development server
npm run dev

The application will run at:

http://localhost:5173

πŸ“Š Analytics Logic

  • Problems are grouped by topic

  • Aggregation is used to calculate:

    • Total problems per topic
    • Percentage contribution
  • Data is visualized using charts for better clarity


πŸŽ“ Use Case

  • Students preparing for placements
  • Competitive programmers
  • Self-assessment of DSA preparation
  • Resume & portfolio project

πŸš€ Future Enhancements

  • πŸ”₯ Daily streak tracking
  • πŸ“ˆ Platform-wise analytics (LeetCode / CodeChef / HackerRank)
  • πŸ“€ Export progress as PDF
  • πŸ§‘β€πŸ€β€πŸ§‘ Leaderboard
  • 🌐 Production deployment with CI/CD

🧾 License

This project is created for educational purposes. You are free to fork, modify, and improve it.