Skip to content

A full-stack Learning Management Application using Next.js, AWS, Docker, Clerk, and more, with a focus on production-ready features and deployment.

License

Notifications You must be signed in to change notification settings

hungdannt/learning-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 Learning Management Application 🚀

A full-stack Learning Management System (LMS) built with cutting-edge technologies for a production-ready deployment. This application offers scalable features and modern UI/UX to provide an exceptional e-learning experience.

hihi.MOV

🎯 Features

  • 🎥 Video Course Support: Seamlessly manage video content with progress tracking.
  • 🔍 Course Search & Categorization: Find courses quickly with an intuitive search system.
  • 🔐 Authentication: Powered by Clerk for secure and hassle-free user management.
  • 📊 Scalable Backend: Built with Node.js and Express, optimized for high performance.
  • 🌐 Responsive Design: Accessible across desktop, tablet, and mobile devices.
  • 🛠️ Production Ready: Deployed with Docker on AWS, utilizing Lambda and DynamoDB.
  • 📈 Enterprise-Level Architecture: Ensures maintainability, scalability, and flexibility.

🛠️ Technologies Used

Category Technologies
Frontend Next.js Redux Toolkit
Backend Node.js Express.js
Database DynamoDB
Authentication Clerk
Deployment AWS Docker
Other Figma

🚀 Getting Started

Prerequisites

  • Node.js >= 16.x
  • Docker installed
  • AWS Account

Installation

  1. Clone the Repository

    git clone https://github.com/your-username/learning-management-app.git
    cd learning-management-app
  2. Install Dependencies

    npm install
  3. Set up Environment Variables Create a .env file with the following values:

    NEXT_PUBLIC_CLERK_FRONTEND_API=your-clerk-frontend-api
    CLERK_API_KEY=your-clerk-api-key
    AWS_REGION=your-aws-region
    AWS_ACCESS_KEY_ID=your-aws-access-key
    AWS_SECRET_ACCESS_KEY=your-aws-secret-key
  4. Run Locally Start the development server:

    npm run dev

    Open http://localhost:3000 to view in your browser.


Deployment

  1. Build Docker Image

    docker build -t lms-app .
  2. Push Image to AWS ECR Follow AWS instructions to push the Docker image to Elastic Container Registry (ECR).

  3. Deploy Using AWS Lambda

    • Set up AWS Lambda for containerized deployment.
    • Use DynamoDB for backend data storage.
  4. Access Your Application The application will be available at your AWS endpoint.


About

A full-stack Learning Management Application using Next.js, AWS, Docker, Clerk, and more, with a focus on production-ready features and deployment.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages