A modern, full-featured adaptive learning management system (LMS) built with Next.js, PostgreSQL, Prisma, and a rich set of UI and developer tools.
This platform supports multi-language content, PWA features, secure authentication, payments, and a modular, scalable architecture.
- Modern UI: Built with reusable components and Tailwind CSS
- Internationalization: Multi-language support with next-intl
- Progressive Web App: Offline support, installability, and caching
- Authentication: Secure login, OAuth, and session management
- Payments: Stripe integration for course purchases
- Role-based Access: Student and teacher dashboards
- Scalable Architecture: Feature-Sliced Design (FSD) and modular codebase
- Database: PostgreSQL with Prisma ORM
- API: RESTful endpoints and Next.js API routes
- Feature-Sliced Design (FSD):
The codebase is organized by features and layers, promoting separation of concerns, scalability, and maintainability. - Clear Folder Structure:
entities/
for business logic and domain modelsfeatures/
for user scenarios and isolated actionsshared/
for reusable components, hooks, utilities, and configurationwidgets/
for composite UI blockspage/
for page-level logic and routingapp/
for Next.js routing, layouts, and providers
- Type Safety:
TypeScript is used throughout the project, with strict typing for API, database, and UI. - Best Practices:
- Modular code
- Reusable and composable components
- Clear separation between UI, logic, and data layers
- Environment variables and secrets are managed securely
- Extensibility:
The architecture allows for easy addition of new features, languages, and integrations.
Overall, the codebase demonstrates a high level of organization, modern best practices, and readiness for scaling and team collaboration.
- Clone the repository
- Install dependencies
npm install
- Configure environment variables
See.env
for required secrets and connection strings. - Run Database Setup
npm run prisma:push npm run prisma:generate
- Start the development server
npm run dev
- UI Components
- Technical Architecture
- Database Models
- Internationalization (i18n)
- PWA & Offline Support
- SEO & Metadata
- Deployment Guide
- Routes Guide
- Pages Guide
- Framework: Next.js
- Database: PostgreSQL
- ORM: Prisma
- Styling: Tailwind CSS
- Internationalization: next-intl
- PWA: next-pwa
- Payments: Stripe
- Authentication: better-auth, OAuth
src/
— Application source codemessages/
— Translation files for i18npublic/
— Static assets, service workerdocs/
— Project documentation