Skip to main content

Getting Started with Akako LMS

Welcome to the Akako Learning Management System (LMS) documentation! This comprehensive guide will help you understand, set up, and use our modern learning management platform.

What is Akako LMS?

Akako LMS is a full-stack learning management system built with modern technologies:

  • Framework: Next.js 14 with App Router
  • Authentication: Clerk.js with PostgreSQL-based role management
  • Database: PostgreSQL with Prisma ORM
  • Styling: TailwindCSS with custom branding
  • State Management: Jotai for client-side state
  • Forms: React Hook Form with Zod validation
  • File Storage: AWS S3 for scalable cloud storage
  • Email: SMTP with nodemailer for notifications

Key Features

🎯 Role-Based Access Control

  • Admin: Full system management and user oversight
  • Mentor: Course creation, content management, and student guidance
  • Learner: Course access, progress tracking, and learning tools

📚 Educational Content Management

  • Hierarchical structure: Education Levels → Grades → Subjects → Topics
  • Video content management with multiple format support
  • Document upload and management system
  • Progress tracking and completion monitoring

🔐 Modern Authentication

  • Clerk.js integration for seamless authentication
  • PostgreSQL-based role management with effective date support
  • JWT tokens with role information
  • Automatic user synchronization

📧 Email Notification System

  • Professional HTML email templates
  • SMTP configuration with nodemailer
  • Notifications for enrollment approvals/rejections
  • Mentor application status updates

🎨 Modern UI/UX

  • Responsive design with TailwindCSS
  • Custom Akako branding (#07294d, #ffc600)
  • Mobile-first approach
  • Smooth animations and transitions

Quick Start

Prerequisites

Before setting up Akako LMS, ensure you have:

  • Node.js: Version 18 or higher
  • PostgreSQL: Database server
  • Clerk.js Account: For authentication
  • AWS S3 Bucket: For file storage
  • SMTP Server: For email notifications
  • pnpm (recommended) or npm

Installation

  1. Clone the repository:

    git clone https://github.com/quivlabs/lms.git
    cd lms
  2. Install dependencies:

    pnpm install
  3. Set up environment variables:

    cp .env.example .env.local
    # Edit .env.local with your configuration
  4. Set up the database:

    pnpm prisma generate
    pnpm prisma db push
  5. Start the development server:

    pnpm dev

Visit http://localhost:3000 to see your LMS in action!

Documentation Structure

Our documentation is organized into the following sections:

Support

Need help? We're here to assist:

Contributing

We welcome contributions! Please see our Development Guide for details on how to contribute to the project.


Ready to get started? Check out our Authentication Setup Guide to configure Clerk.js integration.