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
- 🎥 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.
Category | Technologies |
---|---|
Frontend | |
Backend | |
Database | |
Authentication | |
Deployment | |
Other |
- Node.js >= 16.x
- Docker installed
- AWS Account
-
Clone the Repository
git clone https://github.com/your-username/learning-management-app.git cd learning-management-app
-
Install Dependencies
npm install
-
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
-
Run Locally Start the development server:
npm run dev
Open http://localhost:3000 to view in your browser.
-
Build Docker Image
docker build -t lms-app .
-
Push Image to AWS ECR Follow AWS instructions to push the Docker image to Elastic Container Registry (ECR).
-
Deploy Using AWS Lambda
- Set up AWS Lambda for containerized deployment.
- Use DynamoDB for backend data storage.
-
Access Your Application The application will be available at your AWS endpoint.