Skip to content

aircmastercode/Personal_Project-dsa-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿง  DSA Tracker - AI-Powered Learning Platform

A comprehensive Data Structures & Algorithms tracker that integrates with your LeetCode profile to provide AI-powered analytics, personalized recommendations, and intelligent insights for accelerated learning.

๐Ÿš€ Features

๐Ÿง  AI-Powered Intelligence

  • Smart Weakness Detection: AI identifies your specific areas of struggle with confidence scores
  • Adaptive Difficulty Suggestions: ML-powered recommendations for optimal learning progression
  • Pattern Mastery Analysis: Deep analysis of algorithmic pattern understanding and growth
  • Intelligent Problem Recommendations: AI-curated problems based on your weaknesses and goals
  • Semantic Problem Matching: Vector-based similarity search for targeted practice

๐Ÿ“Š Comprehensive Analytics

  • Real-time Dashboard: Live statistics from your LeetCode profile
  • Progress Analytics: Detailed charts and insights on your coding journey
  • Problem Tracking: Monitor solved problems by difficulty and category
  • Language Statistics: Track your programming language usage
  • Submission Calendar: Visualize your coding consistency with GitHub-style heatmaps
  • Contest Performance: Monitor your contest rankings and performance evolution

๐ŸŽฏ Advanced Features

  • User Authentication: Secure signup/signin with LeetCode ID verification
  • Community Hub: Daily challenges, trending discussions, and community engagement
  • Modern UI: Beautiful, responsive design with smooth animations and micro-interactions
  • Smart Search: Advanced filtering and search capabilities across all features

๐Ÿ› ๏ธ Tech Stack

๐Ÿง  AI & Machine Learning

  • ML Framework: scikit-learn, pandas, numpy
  • Vector Database: Chroma with sentence-transformers
  • Embeddings: all-MiniLM-L6-v2 for semantic similarity
  • ML Models: Random Forest, Gradient Boosting, K-Means clustering
  • ML API: FastAPI with async support

๐ŸŒ Frontend & Backend

  • Frontend: Next.js, React, Tailwind CSS, Framer Motion
  • Backend: Node.js, Express.js, SQLite
  • Authentication: JWT tokens, bcrypt
  • Charts: Recharts for interactive data visualizations
  • LeetCode Integration: Custom API integration with 30+ endpoints

๐ŸŽจ UI & Design

  • UI Components: Headless UI, Heroicons
  • Animations: Framer Motion for smooth transitions
  • Styling: Tailwind CSS with custom component library
  • Responsive: Mobile-first design approach

๐Ÿ“‹ Prerequisites

  • Node.js (v16 or higher)
  • Python (3.8 or higher) for ML service
  • npm or yarn
  • Docker (for running the LeetCode API)
  • Git for cloning the repository

๐Ÿ”ง Installation & Setup

1. Clone the Repository

git clone <your-repo-url>
cd dsa-tracker

2. Install Frontend Dependencies

npm install

3. Set Up ML Service

Navigate to the ML service directory and install Python dependencies:

cd ml-service
pip install -r requirements.txt
cd ..

4. Set Up Environment Variables

Create a .env file in the root directory:

JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
PORT=5000
DB_PATH=./server/users.db

5. Start the LeetCode API

Navigate to the leetcodeapi directory and start the Docker container:

cd leetcodeapi
docker-compose up -d
cd ..

This will start the LeetCode API on http://localhost:3000

6. Start the AI ML Service with Real Data ๐Ÿง 

In a new terminal, start the AI/ML microservice with real LeetCode data integration:

cd ml-service
chmod +x start_real_service.sh
./start_real_service.sh

This will start the ML service on http://localhost:8001 and analyze real LeetCode data (no mock data!)

7. Start the Authentication Server

In another terminal, start the backend authentication server:

npm run server

This will start the auth server on http://localhost:5000

8. Start the Website

In the final terminal, start the Next.js development server:

npm run dev

The website will be available at http://localhost:3001

๐ŸŒ Service Architecture

Your complete DSA Tracker platform now runs on 4 services:

Service Port Purpose Status Check
Website 3001 Main Next.js application http://localhost:3001
Auth Server 5000 Authentication & user management http://localhost:5000
LeetCode API 3000 LeetCode data integration http://localhost:3000
AI ML Service 8001 Real data AI analytics & recommendations http://localhost:8001/health

๐Ÿง  AI Features Setup

Once all services are running, you can access the AI-powered features:

  1. AI Analytics Dashboard: Visit /ai-analytics for comprehensive ML insights
  2. Smart Recommendations: Get personalized problem suggestions
  3. Weakness Detection: Identify areas for improvement with confidence scores
  4. Pattern Analysis: Deep dive into algorithmic pattern mastery

The ML service automatically:

  • Downloads required models on first run
  • Creates vector embeddings for problem similarity
  • Trains models based on user data patterns
  • Provides real-time analytics through the web interface

๐ŸŒ API Endpoints

Authentication Endpoints

  • POST /api/auth/register - Register a new user
  • POST /api/auth/login - User login
  • GET /api/auth/verify - Verify JWT token

LeetCode API Integration

The website integrates with the LeetCode API running on port 3000. Available endpoints include:

  • /userProfile/:username - Get full profile details
  • /:username/solved - Get solved problems count
  • /:username/submission - Get recent submissions
  • /:username/acSubmission - Get accepted submissions
  • /languageStats?username=:username - Get language statistics
  • /daily - Get daily challenge
  • /problems - Get problem list

For complete API documentation, check the LeetCode API README.

๐ŸŽฏ Usage

  1. Registration: Sign up with your email and LeetCode username
  2. Login: Access your personalized dashboard
  3. Dashboard: View your coding statistics and progress
  4. Analytics: Explore detailed charts and insights
  5. Problems: Browse and track problem-solving progress

๐Ÿ“Š Screenshots

The website includes:

  • Beautiful landing page with feature highlights
  • Secure authentication with LeetCode ID verification
  • Comprehensive dashboard with real-time statistics
  • Interactive charts and analytics
  • Responsive design for all devices

๐Ÿ”’ Security Features

  • Password hashing with bcrypt
  • JWT token authentication
  • Input validation and sanitization
  • SQL injection protection
  • CORS configuration

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License.

๐Ÿ†˜ Troubleshooting

Common Issues

  1. LeetCode API not responding: Make sure Docker is running and the API container is up
  2. Authentication not working: Check if the auth server is running on port 5000
  3. Database errors: Ensure SQLite permissions are correct
  4. CORS issues: Verify the API endpoints are configured correctly

Port Configuration

  • Website: http://localhost:3001
  • Authentication Server: http://localhost:5000
  • LeetCode API: http://localhost:3000

๐Ÿ”ฎ Future Enhancements

๐ŸŽฏ Planned Features

  • Email verification and password reset
  • Social login integration (Google, GitHub)
  • Friends system and leaderboards
  • Mobile app (React Native)
  • Export data functionality
  • Study plans and personalized learning paths

๐Ÿง  AI Enhancements (In Progress)

  • Smart Weakness Detection โœ…
  • Adaptive Difficulty Suggestions โœ…
  • Pattern Mastery Analysis โœ…
  • Intelligent Problem Recommendations โœ…
  • Advanced Analytics Dashboard โœ…
  • Predictive performance modeling
  • Automated study schedule optimization
  • Code review and improvement suggestions
  • Interview preparation recommendations

๐Ÿ“ž Support

If you encounter any issues or have questions, please:

  1. Check the troubleshooting section
  2. Look for existing issues in the repository
  3. Create a new issue with detailed information

Happy Coding! ๐Ÿš€

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors