Portakal LMS
Published Aug 25, 2025
⋅
Updated Sep 28, 2025
⋅
1 minutes read
Portakal LMS
A modern learning management system built with Next.js 15, React 19, and TypeScript. Features comprehensive course management, student progress tracking, and secure payment processing.
Overview
Portakal LMS is a full-stack educational platform that enables instructors to create and manage online courses while providing students with an intuitive learning experience. The platform includes video streaming, progress tracking, payment integration, and administrative tools.
Features
- Course Management: Create, organize, and manage courses with chapters and lessons
- Student Dashboard: Track learning progress and access enrolled courses
- Admin Panel: Comprehensive course and student management with analytics
- Payment Processing: Secure Stripe integration for course purchases
- File Storage: AWS S3 integration for video and media content
- Authentication: GitHub OAuth and email verification
- Rich Content Editor: TipTap-powered content creation tools
- Progress Tracking: Real-time lesson completion and progress monitoring
Technology Stack
Architecture
The application follows a modern full-stack architecture with clear separation of concerns:
- Frontend: Next.js 15 with App Router, React 19, TypeScript
- Styling: Tailwind CSS v4 with Radix UI components
- Database: PostgreSQL with Prisma ORM
- Authentication: Better Auth with GitHub OAuth and Email OTP
- Payments: Stripe integration for secure transactions
- File Storage: AWS S3 for media content
- Security: Arcjet protection and bot detection
- Deployment: Vercel-ready with environment configuration
Database Schema
The application uses PostgreSQL with the following core entities:
- User: User accounts with authentication and profile data
- Course: Course information, pricing, and metadata
- Chapter: Course chapters with ordering
- Lesson: Individual lessons with video content
- Enrollment: Student course enrollments and payment status
- LessonProgress: Track student progress through lessons