Mentingo LMS Core Project
A modern, scalable Learning Management System built with cutting-edge technologies.
Features β’ Getting Started β’ Development β’ Contributing
Table of Contents
- Mentingo LMS Core Project
Features
π€ AI-Powered Training
- Voice & Chat AI Mentor: Immersive, real-time role-play simulations for sales, compliance, and customer support training with instant, automated AI evaluation.
- AI Course Architect: Transform raw corporate knowledge bases, documentation, and internal policies into structured interactive courses in minutes.
- Automated Scenario Grading: AI-driven analysis and actionable feedback for open-ended problem-solving and behavioral tasks, reducing manual L&D workload.
π’ Enterprise & White-Label Readiness
- Full White-Label Architecture: Complete rebranding capabilities (custom domains, logos, custom styles) to perfectly match corporate identity.
- Multi-Tenancy Infrastructure: Secure, isolated multi-tenant architecture designed for large corporate environments, holding companies, or B2B training vendors.
- Enterprise Configuration Hub: Centralized admin toggles for seamless, zero-code activation of corporate infrastructure, including Corporate SSO (Microsoft 365 & Google Workspace Sign-In) and AI API provider management (e.g., OpenAI).
π Corporate L&D & Engagement Engine
- Dynamic Organization Mapping: Advanced group and user management designed to seamlessly mirror complex corporate hierarchies (Departments, Branches, Teams) with automated course access inheritance.
- Automated Recertification & Compliance: Set recurring expiration dates for mandatory corporate training (e.g., Compliance, Safety, Cyber Security) with automated re-enrollment and smart notification schedules.
- Consumer-Grade UI/UX: A clean, distraction-free, modern interface inspired by top consumer apps to maximize employee adoption, engagement, and course completion rates.
- Next-Gen Assessment Engine: Multi-format testing including behavioral scenarios, short/long-form text analysis, dynamic quizzes, and gamified consistency systems (Daily Streaks).
- Deep Analytics & Insights: Granular tracking of user engagement, learning consistency, and practical training outcomes for L&D managers.
π§ Knowledge Management & CMS
- Corporate Knowledge Repository: Centralized, secure storage for organization-wide documentation, internal playbooks, and assets.
- Internal Q&A & News Hub: Keep remote and hybrid teams aligned with a built-in corporate blog, announcement modules, and dynamic internal FAQ sections.
Overview
Apps
- api: A NestJS backend application working as API
- web: A Vite Remix SPA
- reverse-proxy: For domains and https during development
Packages
- email-templates: A package for email templates
- eslint-config: A package for eslint configuration
- performance-tests: K6 performance testing suite
- typescript-config: A package for typescript configuration
Getting Started
Prerequisites
Before you begin, make sure you have:
- Node.js version 20.15.0 (stated in
.tool-versions)- We recommend using asdf for version management
- pnpm package manager
- Caddy v2.8.4
- Docker and Docker Compose
Installation
Run the automated setup script:
On macOS/Linux:
pnpm setup:unix
On Windows:
pnpm setup:win
The setup script will automatically:
- β Verify all prerequisites and tool versions
- β Configure Caddy for HTTPS development
- β Install project dependencies
- β Build shared packages
- β Set up environment files (.env)
- β Start Docker containers
- β Run database migrations
- β Seed the database
[!NOTE] On Linux, Caddy needs permission to bind to port 443. The script will automatically handle this, but you may be prompted for your sudo password.
Default User Accounts
After setup completes, the following default accounts are available:
| Role | Password | |
|---|---|---|
| Admin | [email protected] | password |
| Student | [email protected] | password |
| Content Creator | [email protected] | password |
[!NOTE] The setup script seeds the default multi-tenant development environment. The primary tenant uses the accounts above.
Default tenant hosts:
https://tenant1.lms.localhosthttps://tenant2.lms.localhosthttps://tenant3.lms.localhost
[!TIP] If you open one of the other seeded hosts, log in with
admin+tenant<number>@example.comand the same password.
[!TIP] If you need a populated environment with sample courses, lessons, and additional test users for development, you can run the development seed instead:
[!NOTE] All accounts are intended for development and testing purposes only.
Development
To start all applications in development mode:
pnpm dev
Available Services
After starting the development environment, you can access:
| Service | URL | Description |
|---|---|---|
| Web App | https://app.lms.localhost | Frontend application |
| API | https://app.lms.localhost/api | Backend API url |
| Swagger | https://api.lms.localhost/api | API documentation |
| Mailhog | https://mailbox.lms.localhost | Email testing interface |
Commands Reference
Formatting
- Format all files with Prettier
pnpm format - Check if all files are formatted with Prettier
pnpm format:check - Lint all files in the web app with ESLint
pnpm lint-tsc-web - Lint all files in the api app with ESLint
pnpm lint-tsc-api - Fix linting errors in the web app
pnpm lint-tsc-web --fix - Fix linting errors in the api app
pnpm lint-tsc-api --fix
Database Commands
- Generate new migration:
pnpm db:generate
[!IMPORTANT] After generating a migration:
- Change its name to something descriptive that explains what it does
- Make sure to update the migration name in
apps/api/src/storage/migrations/meta/_journal.jsonunder thetagkey
- Run migrations:
pnpm db:migrate
HTTP Client Generation
- Generate TypeScript API client based on Swagger specification:
pnpm generate:client
Email Templates
- Build email templates:
cd packages/email-templates pnpm build
Email templates are automatically built when starting the development server. To test emails, check the Mailhog interface at mailbox.lms.localhost.
Testing
-
Frontend tests:
-
Unit
pnpm test:web -
E2E
bash test-e2e.shor
chmod +x test-e2e.sh ./test-e2e.sh
-
-
Backend tests:
pnpm test:api # Unit tests pnpm test:api:e2e # E2E tests -
Performance tests (requires k6):
pnpm perf:load # Load test pnpm perf:stress # Stress test pnpm perf:spike # Spike test pnpm perf:load:dashboard # Load test with live dashboard[!NOTE] Performance tests require k6 to be installed globally and proper configuration. See packages/performance-tests/README.md for detailed setup and usage instructions.
Project Structure
lms-core
βββ apps
β βββ api
β β βββ src
β β βββ test
β βββ reverse-proxy
β βββ web
β βββ app
β β βββ api
β β βββ assets
β β βββ components
β β βββ modules
β βββ e2e
βββ packages
βββ email-templates
βββ eslint-config
βββ performance-tests
βββ shared
βββ typescript-config
Contributing
We welcome contributions to Mentingo! Please check our Contributing Guide for guidelines about how to proceed.
Deployment
See Deployment Guide for more details.
Legal notice
This project was generated using Selleo LMS which is licensed under the MIT license.
Partners

Ready to scale your eLearning platform? Selleo will help with product-minded dev teams who are here to make it happen.