Zanix LMS is a robust, full-stack Learning Management System (LMS) designed to deliver a seamless online education experience with multiple user roles, course management, video content, and analytics.
FullStack
Zanix LMS is a robust, full-stack Learning Management System (LMS) designed to deliver a seamless online education experience. It supports multiple user roles—students, instructors, administrators, moderators, and super admins—enabling course creation, management, enrollment, and interactive learning. The frontend is built with Next.js, React, and TypeScript, ensuring a responsive and intuitive user interface. The backend, powered by Node.js, Express, TypeScript, and MongoDB, provides secure APIs, data management, and scalable services. Key features include video content integration, mock payment processing, email notifications, and analytics, making it a comprehensive solution for educational platforms.
This project showcases full-stack development expertise, integrating modern web technologies, secure authentication, and optimized performance for a production-ready LMS.
src/
├── app/ # Next.js app router pages
│ ├── (commonLayout)/ # Public pages (home, courses, auth)
│ ├── (dashboard)/ # Protected dashboard routes
│ │ ├── admin-dashboard/ # Admin-specific pages
│ │ ├── instructor-dashboard/ # Instructor pages
│ │ ├── student-dashboard/ # Student pages
│ │ └── moderator-dashboard/ # Moderator pages
│ └── globals.css # Global styles
├── components/ # Reusable UI components
│ ├── ui/ # shadcn/ui components
│ ├── home/ # Homepage sections
│ └── ... # Other components
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── redux/ # Redux store and features
│ └── features/ # RTK Query APIs
├── utils/ # Helper utilities
└── wrapper/ # Layout wrappers
src/
├── controllers/ # Request handlers
├── models/ # Mongoose models (User, Course, etc.)
├── routes/ # Express routes
├── services/ # Business logic
├── middleware/ # Authentication, validation, etc.
├── utils/ # Helper utilities
├── jobs/ # BullMQ job queues
├── templates/ # Email templates
└── docs/ # API and feature documentation
git clone <frontend-repository-url>
cd zanix-lms-frontend
pnpm install
.env.local file:
NEXT_PUBLIC_API_URL=http://localhost:5000
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your_cloudinary_config
pnpm dev
pnpm build
pnpm start
git clone https://github.com/Nahid-Mahmud/Znanix-LMS-Backend.git
cd Zanix-LMS-Backend
pnpm install
.env file:
PORT=5000
NODE_ENV=development
MONGO_URI=mongodb://localhost:27017/zanix-lms
REDIS_HOST=localhost
REDIS_PORT=6379
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-api-secret
ACCESS_TOKEN_JWT_SECRET=your-access-token-secret
REFRESH_TOKEN_JWT_SECRET=your-refresh-token-secret
SUPER_ADMIN_EMAIL=admin@zanixlms.com
SUPER_ADMIN_PASSWORD=your-super-admin-password
mongod
redis-server
pnpm run dev
pnpm dev for both frontend and backend to start development servers (http://localhost:3000 for frontend, http://localhost:5000 for backend).pnpm build and pnpm start for optimized deployment.The frontend communicates with the backend via RESTful APIs for:
| Method | Endpoint | Description | Access |
|---|---|---|---|
| POST | /api/v1/auth/login |
User login | Public |
| POST | /api/v1/user/register |
Register new user | Public |
| POST | /api/v1/courses/create |
Create new course | Instructor/Admin |
| POST | /api/v1/payments/init-payment/:courseId |
Initialize payment | Student |
| GET | /api/v1/stats/dashboard |
Dashboard statistics | Admin/Super Admin |
| PATCH | /api/v1/user-courses/enrollment/:enrollmentId/progress |
Update course progress | Student |
The backend includes a mock payment system for development and testing:
/api/v1/payments endpoints (see docs/mock-payment-guide.md).git checkout -b feature/your-feature.git commit -m 'Add feature'.git push origin feature/your-feature.README.md.docs/:
mock-payment-guide.md: Payment integration.fileUploadGuide.md: File upload details.email-queue-guide.md: Email and queue processing.stats-api-documentation.md: Analytics APIs.implementation-summary.md: System overview.Licensed under the MIT License. See the LICENSE file for details.
docs/ for detailed guides.This project showcases my ability to build a full-stack, scalable, and feature-rich LMS, integrating modern web technologies with secure and efficient backend services, ready for portfolio display.