https://github.com/sharifuzzamanshaon/lms-app-backend
A modern learning platform built with Node.js, Express.js, Next.js, React-Redux, and RTK Query. It features real-time notifications and uses Redis for in-memory caching to optimize performance. The app provides a seamless user experience with efficient data management and scalable architecture.
https://github.com/sharifuzzamanshaon/lms-app-backend
cloudinary cookie ejs expressjs jwt mongodb node redis rest-api role-based-access-control socket-io token
Last synced: 4 months ago
JSON representation
A modern learning platform built with Node.js, Express.js, Next.js, React-Redux, and RTK Query. It features real-time notifications and uses Redis for in-memory caching to optimize performance. The app provides a seamless user experience with efficient data management and scalable architecture.
- Host: GitHub
- URL: https://github.com/sharifuzzamanshaon/lms-app-backend
- Owner: SharifuzzamanShaon
- Created: 2024-11-12T12:07:31.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-02-24T15:55:41.000Z (4 months ago)
- Last Synced: 2025-02-24T16:51:42.550Z (4 months ago)
- Topics: cloudinary, cookie, ejs, expressjs, jwt, mongodb, node, redis, rest-api, role-based-access-control, socket-io, token
- Language: JavaScript
- Homepage: https://skillsage-6v3g.onrender.com/
- Size: 164 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Learning Management App [Backend API]
A modern learning management system built with Node.js, Next.js, MongoDB, and Redis. This application provides a comprehensive platform for managing and delivering educational content, featuring real-time notifications, efficient data caching, and a user-friendly interface.
## Features
- **User Management**: Handles user roles, authentication, and authorization.
- **Course Management**: Enables creation, updating, and management of courses and content.
- **Real-time Notifications**: Keeps users updated with the latest information using WebSockets.
- **Conversation [Chats]: Connect with other students and group
- **Chatting Features**: Real-time chat functionality implemented with Socket.IO.
- **Efficient Caching**: Utilizes Redis for improved performance and scalability.
- **Modern UI**: Built with Next.js for a responsive and engaging user experience.
- **Email & OTP Verification**: Ensures secure account verification.## Installation
### Backend
1. **Clone the Repository**```bash
git clone https://github.com/SharifuzzamanShaon/LMS_Tech_App.git
cd learning-management-app2. **Install npm**
```bash
npm install3. **ENV file in root dir**
```
MONGO_URI=your_mongodb_connection_string
REDIS_URL=your_redis_connection_string
JWT_SECRET=your_jwt_secret
SMTP_HOST = smtp-relay.brevo.com
SMTP_USER = md*****@gmail.com
SMTP_PASSWORD = ** *** *** *FROM_EMAIL = md********@gmail.com
CLIENT_URL = http://*******CLOUD_NAME = daaxwtbba
API_KEY = ************
API_SECRET = CT9o3mEVvEQ0Dp1kbNNMFfg-BMI
REDIS_URL = 'redis:// default:Ab****YzZmJlMmVkYzQ0ZjNlYjMyZjFiM2I4N2FmMzdhYXAxMA@strong-rabbit-***805.upstash.io:6379'ACC_ACTIVATION_SECRETKEY = 'MmVkYzQ0ZjNl'
ACCESS_TOKEN_KEY= '***************'
REFRESH_TOKEN_KEY = '**************'ACCESS_TOKEN_EXPIRE = 5 # define the hours
REFRESH_TOKEN_EXPIRE = 3 # define the day### Frontend
**Start the Frontend Application**
cd client/my-app
npm run dev
## Additional Information- **Real-Time Communication**: This project includes real-time communication features developed with [Socket.IO](https://socket.io/) for enhanced interactivity and seamless data communication.
- **User Authentication**: Supports email and OTP verification to ensure account security.
- **UI Frameworks**: Built with [Tailwind CSS](https://tailwindcss.com/) and [Material UI](https://mui.com/) for a responsive and visually engaging interface.## Deployment Link
Access the live application here: [SkillSage Live Application](https://skillsage-6v3g.onrender.com)
## Note
This project continuously evolves, and future updates will add new features.
---
# SkillSage ProjectSkillSage is a platform for connecting freelance examiners, companies, and candidates. Below are the UML diagrams for the project:
Thank you for exploring