Date: November 5, 2025
Version: MVP Foundation
Status: β
Foundation Complete - Ready for Feature Development
An interactive, gamified learning platform for Machine Learning Engineers, AI Engineers, Data Scientists, and Software Engineers. Users can track their progress, take quizzes, access resources (PDFs, videos, links), and compete with their past selves through a comprehensive roadmap system.
Tech Stack:
- Next.js 14 (App Router)
- TypeScript (Strict Mode)
- Prisma ORM
- Supabase (PostgreSQL + Auth + Storage)
- Tailwind CSS + shadcn/ui
- Turborepo (Monorepo)
- β ARCHITECTURE.md - Complete system design (17 sections, 500+ lines)
- β IMPLEMENTATION_GUIDE.md - Step-by-step completion guide
- β README.dev.md - Developer quickstart
- β Monorepo Structure - Turborepo with packages/apps separation
- β
Prisma Schema - Complete database models:
- User Management:
users,profiles(with RBAC) - Content Hierarchy:
phase,topic,resource - Quiz System:
quiz,question,choice,quiz_attempt,quiz_answer - User Progress:
progress_item,bookmark
- User Management:
- β Seed Script - Sample data (3 phases, 6 topics, resources, quizzes, users)
- β Prisma Client - Singleton pattern with proper exports
- β Supabase Integration - JWT-based auth
- β Middleware - Route protection (public, protected, admin)
- β RBAC - Role-based access control (student/admin)
- β
Auth Pages:
- Login page with redirect support
- Register page with profile creation
- Logout API endpoint
- β
Auth API Routes:
/api/auth/login- Email/password login/api/auth/register- User registration/api/auth/logout- Session cleanup
- β ProgressService - Track user progress through topics
- β QuizService - Quiz management and scoring
- β BookmarkService - Save favorite topics
- β ResourceService - Access learning materials
- β Error Handling - AppError class with proper status codes
- β Validators - Zod schemas for all inputs
- β Turborepo Config - Build pipeline and caching
- β TypeScript Config - Strict mode across workspace
- β Tailwind Config - Design tokens and theme
- β ESLint Config - Code quality
- β Git Ignore - Proper ignore patterns
npm run db:generate # Generate Prisma Client
npm run db:push # Create tables (dev)
npm run db:seed # Add sample data
npm run db:studio # Visual database browser- User registration with profile creation
- Login with JWT tokens
- Middleware protecting routes
- Role-based admin access
- Full CRUD operations for all entities
- Validation with Zod
- Authorization checks
- Error handling
- 2 Users (admin + student)
- 3 Phases (Foundations, Data Manipulation, ML Basics)
- 6 Topics with descriptions
- Sample resources (links to real content)
- 1 Quiz with 2 questions
β‘ /api/progress (GET, POST)
β‘ /api/progress/stats (GET)
β‘ /api/quiz (GET)
β‘ /api/quiz/[id] (GET)
β‘ /api/quiz/[id]/submit (POST)
β‘ /api/bookmark (GET, POST)
β‘ /api/bookmark/[id] (DELETE)
β‘ /api/resources (GET)
β‘ /api/resources/[id] (GET)
Code templates provided in IMPLEMENTATION_GUIDE.md
β‘ /dashboard - User progress overview
β‘ /roadmap - Phase list
β‘ /roadmap/[phase] - Phase detail
β‘ /roadmap/[phase]/[topic] - Topic detail + MDX
β‘ /quizzes - Quiz list
β‘ /quizzes/[id] - Take quiz
β‘ /quizzes/[id]/results - Quiz results
β‘ /resources - Resource library
Example code provided for dashboard and roadmap
β‘ /admin - Dashboard with stats
β‘ /admin/phases - CRUD phases
β‘ /admin/topics - CRUD topics
β‘ /admin/resources - CRUD resources
β‘ /admin/quizzes - CRUD quizzes
β‘ /admin/users - View users
β‘ Create 20+ MDX topic files (EN + TR)
β‘ Build reusable UI components
β‘ Configure next-intl for i18n
β‘ Add language switcher
β‘ Set up Supabase project
β‘ Configure environment variables
β‘ Deploy to Vercel
β‘ Run migrations on production
β‘ Seed production database
Total Estimated Time: 2-3 weeks for MVP completion
ml-roadmap/
βββ π ARCHITECTURE.md β Complete system design
βββ π IMPLEMENTATION_GUIDE.md β Step-by-step guide
βββ π README.dev.md β Developer quickstart
βββ π PROJECT_STATUS.md β This file
β
βββ π apps/
β βββ web/ β Next.js application
β βββ src/
β β βββ app/ β Pages & API routes β
β β βββ components/ β UI components (to build)
β β βββ lib/
β β β βββ auth/ β Supabase helpers β
β β β βββ db/ β Prisma client β
β β β βββ services/ β Business logic β
β β β βββ utils/ β Errors & validators β
β β βββ middleware.ts β Route protection β
β βββ content/ β MDX files (to create)
β βββ package.json
β
βββ π packages/
β βββ db/ β Database layer β
β β βββ prisma/
β β β βββ schema.prisma β All models defined
β β β βββ seed.ts β Sample data script
β β βββ src/
β β βββ index.ts β Prisma client export
β βββ ui/ β Shared components
β βββ config/ β Shared configs β
β
βββ package.json β Root workspace config
βββ turbo.json β Monorepo build config
- User authentication (register, login)
- User dashboard with progress stats
- Roadmap with at least 1 complete track (ML Engineer)
- 20+ topics with MDX content
- Progress tracking (planned/in-progress/completed)
- 10+ quizzes with scoring
- Bookmark system
- 50+ resources (links, PDFs)
- Admin panel for content management
- Mobile responsive design
- Deployed to production
- Turkish language support (i18n)
- PDF download functionality
- Quiz attempt history
- Search functionality
- Keyboard shortcuts
- Multiple tracks (AI, CS, SE, DS)
- Gamification (points, badges)
- Personal notes
- AI coaching
- Video streaming
- Discussion forum
- Certificates
# Initial setup
npm install
npm run db:generate
npm run db:push
npm run db:seed
# Development
npm run dev # Start dev server
npm run db:studio # Open Prisma Studio
# Production
npm run build # Build for production
npm run start # Start production server
# Database
npm run db:migrate # Run migrations
npm run db:seed # Seed dataLines of Code Written:
- Architecture Documentation: ~500 lines
- Prisma Schema: ~200 lines
- Service Layer: ~600 lines
- Authentication: ~300 lines
- Configuration: ~200 lines
- Total: ~1,800 lines
Files Created: ~30 files
Time Invested: ~4-5 hours
Completion: ~40% of MVP (Foundation complete)
- β Database schema designed
- β Authentication system ready
- β Service layer implemented
- β Error handling in place
- β Validation schemas defined
- β Seed data available
- β³ Supabase project created
- β³ Environment variables configured
- β³ API endpoints implemented
- β³ Pages built
- β³ Content created (MDX files)
- Create Supabase project β Get credentials
- Set environment variables in Vercel
- Push code to GitHub
- Connect to Vercel
- Run migrations:
npx prisma migrate deploy - Seed database:
npm run db:seed - Test all features
- Launch! π
- Database: Metadata, structure, dynamic content
- MDX Files: Long-form educational content
- Why: Performance + Flexibility
- All business logic in services
- Never bypass service layer
- Why: Maintainability + testability
- Shared packages (db, ui, config)
- Independent versioning
- Why: Code reuse + scalability
- JWT-based authentication
- RLS (Row Level Security)
- Why: Security + simplicity
Documentation:
ARCHITECTURE.md- Full system designIMPLEMENTATION_GUIDE.md- How to complete featuresREADME.dev.md- Developer quickstart
External Resources:
Contact:
- GitHub: @Ahmet-Ruchan
- Email: aruchanavci01@gmail.com
The foundation is solid and ready for rapid feature development.
All core infrastructure is in place:
- β Database schema
- β Authentication
- β Business logic
- β Documentation
Next: Follow IMPLEMENTATION_GUIDE.md to complete API endpoints, pages, and content.
Estimated Time to MVP: 2-3 weeks with focused development.
Last Updated: November 5, 2025
Project Health: π’ Healthy
Ready for: Feature Development