A comprehensive platform that dynamically integrates with coding platforms (LeetCode, GitHub, Codeforces, etc.) to track student performance and enable AI-powered recruitment.
- Real-time sync with LeetCode, Codeforces, GitHub, CodeChef, HackerRank
- Live statistics - problem counts, ratings, contributions
- Auto-refresh platform data with one-click sync
- Smart analytics across all connected platforms
- Students: Personal progress tracking, platform management, job matching
- Colleges: Department analytics, placement tracking, student performance
- Recruiters: Candidate search, AI matching, market insights
- Performance insights across coding platforms
- Skill gap analysis for students and departments
- Predictive placement success rates
- Market trend analysis for recruiters
- Auto-fallback system: Works with or without MongoDB
- In-memory storage: Instant setup for testing and development
- Seamless migration: Easy transition from fallback to persistent storage
git clone <repository-url>
cd codetrack
npm install
npm run setup-env
npm run devβ Ready to use! The platform automatically uses in-memory storage if MongoDB isn't available.
git clone <repository-url>
cd codetrack
npm install
npm run setup-env
# Configure MongoDB in .env.local:
# MONGODB_URI=mongodb://localhost:27017/codetrack
# OR
# MONGODB_URI=mongodb+srv://user:pass@cluster.mongodb.net/codetrack
npm run dev- π Quick Start: Use
/signup-demo- works immediately without database setup - πΎ Full Setup: Use
/signup- requires MongoDB for persistent data - π§ Debug Mode: Use
/test-auth- comprehensive testing tools
Visit http://localhost:3000/signup-demo and:
- Select role: Student, College, or Recruiter
- Fill details: Name, email, role-specific information
- Create account: Instant access to your dashboard
- Students: Connect platforms, sync data, view analytics
- Colleges: Monitor student performance, track placements
- Recruiters: Search candidates, view market insights
Visit http://localhost:3000/status to see:
- β API status
- ποΈ Database connection
- βοΈ Environment configuration
- π Fallback mode status
Visit http://localhost:3000/test-auth for:
- API health checks
- Database connection tests
- User creation and authentication
- Comprehensive system diagnostics
β Fixed! The system now automatically detects database availability and uses fallback storage.
β Fixed! All client-side code properly handles server-side rendering.
β No Problem! The system works perfectly without a database using in-memory storage.
# 1. Sign up at /signup-demo
# 2. Go to /student/platforms
# 3. Connect your coding accounts
# 4. Click "Sync All" to fetch data
# 5. View analytics at /student/analytics# 1. Sign up as college at /signup-demo
# 2. Access /college/dashboard
# 3. View student performance analytics
# 4. Monitor placement statistics
# 5. Generate reports# 1. Sign up as recruiter at /signup-demo
# 2. Access /recruiter/search
# 3. Filter candidates by skills
# 4. View AI-powered recommendations
# 5. Track hiring pipeline- Primary: MongoDB for persistent storage
- Fallback: In-memory storage for instant setup
- Auto-detection: Seamless switching between modes
- Migration: Easy upgrade from fallback to persistent
- Auto-routing: Requests automatically use available storage
- Error handling: Graceful fallbacks and clear error messages
- Rate limiting: Platform API compliance
- Real-time sync: Live data updates
- Next.js 14: Modern React with App Router
- TypeScript: Full type safety
- Responsive design: Works on all devices
- Real-time updates: Dynamic data refresh
- LeetCode: Problems, contests, difficulty breakdown
- Codeforces: Rating, contests, problem statistics
- GitHub: Repositories, contributions, activity
- CodeChef: Contests, ratings, achievements
- HackerRank: Skills, certifications, assessments
- One-click sync: Fetch all platform data instantly
- Smart caching: Efficient API usage
- Real-time updates: Live statistics
- Error handling: Graceful failure recovery
- Secure authentication: Hashed passwords, secure sessions
- Data protection: Encrypted sensitive information
- Privacy controls: User-controlled data sharing
- API security: Rate limiting and abuse prevention
- Session management: Secure token-based authentication
npm run dev
# Instant setup with fallback storage# Set environment variables:
MONGODB_URI=your_mongodb_uri
NEXTAUTH_SECRET=your_secret_key
NEXTAUTH_URL=your_domain
npm run build
npm start# Works with just:
NEXTAUTH_SECRET=your_secret_key
NEXTAUTH_URL=your_domain
npm run build
npm start
# Uses in-memory storage (data resets on restart)npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run setup-env- Setup environment variablesnpm run verify- Verify system configuration
# Test API health
curl http://localhost:3000/api/health
# Test database
curl http://localhost:3000/api/test-db
# Test signup (fallback)
curl -X POST http://localhost:3000/api/auth/signup-fallback \
-H "Content-Type: application/json" \
-d '{"name":"Test","email":"test@example.com","password":"password123","role":"student"}'- Status Page:
/status- System health overview - Debug Tools:
/test-auth- Comprehensive testing - Demo Signup:
/signup-demo- Works without database - Regular Signup:
/signup- Uses database when available
NEXTAUTH_SECRET=your-secret-key-here
NEXTAUTH_URL=http://localhost:3000MONGODB_URI=mongodb://localhost:27017/codetrack
# OR
MONGODB_URI=mongodb+srv://user:pass@cluster.mongodb.net/codetrackGITHUB_TOKEN=your_github_token
LEETCODE_SESSION=your_leetcode_sessionβ Working Features:
- Complete role-based authentication system
- Dynamic platform integrations (LeetCode, GitHub, etc.)
- Real-time data synchronization
- Comprehensive analytics dashboards
- Auto-fallback database system
- Responsive UI with dark/light themes
β Database Flexibility:
- Works with MongoDB for persistent storage
- Falls back to in-memory storage automatically
- No setup required for immediate testing
- Easy migration between storage modes
β Error Handling:
- Graceful API error handling
- Clear user feedback
- Comprehensive debugging tools
- Automatic fallback systems
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Test with:
npm run devand visit/test-auth - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
π Ready to use immediately - no complex setup required!
Built with β€οΈ for the coding community