AI-powered personalized learning roadmaps for aspiring tech professionals.
At its core, WHATS-NEXT is a platform that helps students and career-changers build step-by-step learning paths toward their dream tech careers. It generates personalized roadmaps, links to real learning resources, guides project-based learning, and connects learners with the job market.
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your API keys
python manage.py migrate
python manage.py runservercd frontend
npm install
npm run devSee Getting Started section below for detailed instructions.
- AI generates custom career roadmaps based on your target role and university course
- Smart course normalization using LLM
- Modules include specific projects, resources, and learning outcomes
- Bridge modules that connect your degree to your career goals
- Integrated YouTube tutorial search for each module
- Tech news and trends relevant to your career path
- Job opportunities and internship listings
- External resource curation (Udemy, Coursera, docs, etc.)
- Real project submissions with GitHub integration
- Automated project scoring (code quality, repo structure, recent commits)
- Peer review and community verification system
- Reputation points for reviewing others' work
- AI-generated quizzes for each module
- Auto-grading and instant feedback
- Multiple attempts with progress tracking
- Dynamic portfolio built from completed projects
- Exportable HTML portfolio page
- Auto-generated CV from module completions
- GitHub and LinkedIn integration
- Employer job board with entry-level opportunities
- Skill-based job matching
- Application tracking with match scores
- Seamlessly switch careers while preserving completed skills
- Smart skill transfer between different paths
- Learning progress and completion stats
- Time-to-complete insights
- Quiz performance tracking
- Streak counts and contribution graphs
- Personalized recommendations
- Framework: Django 5.2 + Django REST Framework
- Auth: JWT (djangorestframework-simplejwt)
- Task Queue: Celery + Redis
- AI: Google Gemini API (roadmap generation & quizzes)
- APIs: YouTube Data API, Google News RSS, WeWorkRemotely RSS
- Validation: jsonschema (LLM output validation)
- Database: SQLite (dev) / PostgreSQL (production)
- Framework: React 18 + Vite
- Visualization: D3.js (roadmap path visualization)
- HTTP: Axios
- Animation: Framer Motion
- UI Components: Lucide React (icons), custom styling
- Export: html2pdf.js (portfolio/CV export)
- Python 3.10+
- Node.js 18+ & npm
- Redis (for Celery)
- Git
- Clone and enter project directory:
git clone https://github.com/manofval0r/WHATS-NEXT.git
cd WHATS-NEXT- Create and activate virtual environment:
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate- Install Python dependencies:
pip install -r requirements.txt- Configure environment variables:
cp .env.example .envEdit .env and add your API keys and settings:
DJANGO_SECRET_KEY=your-secret-key-here
DEBUG=False
ALLOWED_HOSTS=localhost,127.0.0.1
GEMINI_API_KEY=your-gemini-api-key
YOUTUBE_API_KEY=your-youtube-api-key
CELERY_BROKER_URL=redis://localhost:6379/0
- Run migrations:
python manage.py migrate- Create superuser (optional):
python manage.py createsuperuser- Start Redis (in a separate terminal):
redis-server- Start Celery worker (in a separate terminal):
celery -A whats_next_backend worker -l info- Run development server:
python manage.py runserverBackend will be available at http://127.0.0.1:8000/
- Navigate to frontend directory:
cd frontend- Install dependencies:
npm install- Configure environment (optional):
cp .env.example .env.localEdit .env.local if your backend is running on a different URL:
VITE_API_URL=http://127.0.0.1:8000
- Start development server:
npm run devFrontend will be available at http://localhost:5173/
POST /api/register/- Create new accountPOST /api/token/- Login (get JWT tokens)POST /api/token/refresh/- Refresh access tokenPOST /api/normalize-course/- Normalize university course name (AI)
POST /api/my-roadmap/- Get or generate personalized roadmapGET /api/roadmap-status/<task_id>/- Check roadmap generation statusPOST /api/submit-project/<node_id>/- Submit project for a moduleGET /api/quiz/<item_id>/- Get quiz for a modulePOST /api/quiz/<item_id>/submit/- Submit quiz answers
GET /api/profile/- Get user profile with completed projectsPOST /api/profile/update-socials/- Update GitHub/LinkedIn linksPOST /api/profile/update-cv/<item_id>/- Edit CV bullet pointGET /api/profile/export-html/- Export portfolio as HTMLGET /api/profile/activity/- Get activity logGET /api/profile/streak/- Get current streak count
GET /api/community/feed/- Get community project submissionsPOST /api/community/verify/<item_id>/- Verify and give reputationGET /api/analytics/- Get personal analytics dashboard
GET /api/resources/- Get news, videos, and job opportunities
POST /api/pivot-career/- Switch careers with skill transfer
GET /api/employer/jobs/- Get job listings with skill matchingPOST /api/employer/apply/<job_id>/- Apply to a job
# Django
DJANGO_SECRET_KEY # Secret key for Django (change in production)
DEBUG # True/False (should be False in production)
ALLOWED_HOSTS # Comma-separated hosts (e.g., localhost,127.0.0.1,yourdomain.com)
# Celery
CELERY_BROKER_URL # Redis connection URL
# External APIs
GEMINI_API_KEY # Google Gemini API key (for roadmap/quiz generation)
YOUTUBE_API_KEY # YouTube Data API key
GITHUB_TOKEN # (Optional) GitHub token for higher rate limits in project scoring
# Frontend
VITE_API_URL # Backend API base URL (default: http://127.0.0.1:8000)
WHATS-NEXT/
βββ core/ # Django app
β βββ models.py # Database models
β βββ views.py # API endpoints
β βββ serializers.py # DRF serializers
β βββ ai_logic.py # AI roadmap generation & LLM logic
β βββ project_scoring.py # GitHub project validation & scoring
β βββ portfolio_generator.py # HTML portfolio generation
β βββ youtube_logic.py # YouTube API integration
β βββ news_logic.py # RSS news & jobs fetching
β βββ tasks.py # Celery async tasks
β βββ tests.py # Unit tests (to be expanded)
β
βββ whats_next_backend/ # Django project config
β βββ settings.py # Django settings
β βββ urls.py # URL routing
β βββ wsgi.py # WSGI config
β βββ celery.py # Celery config
β
βββ frontend/ # React app
β βββ src/
β β βββ api.js # Axios instance with configurable base URL
β β βββ App.jsx # Main app component
β β βββ AuthPage.jsx # Signup/login
β β βββ Dashboard.jsx # Roadmap visualization
β β βββ RoadmapMap.jsx # D3 roadmap renderer
β β βββ Profile.jsx # Portfolio & CV
β β βββ Community.jsx # Project verification
β β βββ Resources.jsx # News/videos/jobs
β β βββ Settings.jsx # Preferences & career pivot
β β βββ ContributionGraph.jsx # Streak visualization
β β βββ CustomNode.jsx # Roadmap node component
β βββ vite.config.js # Vite config
β
βββ manage.py # Django management
βββ requirements.txt # Python dependencies
βββ .env.example # Environment variables template
βββ db.sqlite3 # Development database
βββ README.md # This file
β Security & Configuration
- Removed hardcoded secrets; moved to environment variables
- Input validation for project submissions and quiz answers
- JSON schema validation for LLM outputs with fallback handling
- Safe JSON parsing with error recovery
β Developer Experience
- Configurable API base URL for frontend (multi-environment support)
.env.examplewith full setup instructions- Fixed pivot-career endpoint mismatch
β Features Implemented
- Smart university course normalization (AI-powered)
- Automated GitHub project scoring (validation, commit history, tests)
- Portfolio HTML export
- Comprehensive analytics dashboard with recommendations
- Employer job board with skill-based matching
Contributions are welcome! Please:
- Create a feature branch (
git checkout -b feature/your-feature) - Commit changes (
git commit -am 'Add feature') - Push to branch (
git push origin feature/your-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ to help aspiring tech professionals accelerate their careers.