The LMS is a feature-rich Learning Management System crafted to enhance the teaching and learning process. Developed using the modern MERN Stack (MongoDB, Express.js, React, and Node.js), it provides a powerful and scalable platform for managing courses, students, assignments, and reports.
- Teacher Dashboard: Oversee courses, monitor assignments, and analyze reports.
- Student Dashboard: View assignments, track grades, and manage schedules.
- Authentication: Secure access for teachers and students with role-based permissions.
- Responsive Design: Optimized for seamless use on desktops, tablets, and mobile devices.
- Real-time Notifications: Instant updates for assignments and important announcements.
- Discussion Forum: A collaborative space for students and teachers to interact.
- Frontend: React.js (with Vite for efficient development)
- Backend: Node.js with Express.js
- Database: MongoDB (NoSQL database)
- State Management: Redux Toolkit
- Styling: Tailwind CSS
- Icons: React Icons
- Notifications: React Toastify
- Authentication: JSON Web Tokens (JWT)
- Node.js (v16 or higher)
- MongoDB (local or cloud-based like MongoDB Atlas)
-
Clone the Repository:
git clone https://github.com/your-repo/Pathagama-LMS.git cd Pathagama-LMS -
Install Dependencies:
- For the backend:
cd server npm install - For the frontend:
cd client npm install
- For the backend:
-
Setup Environment Variables: Create a
.envfile in theserverdirectory and configure the following:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key CLIENT_URL=http://localhost:3000
-
Run the Application:
- Start the backend server:
cd server npm start - Start the frontend development server:
cd client npm run dev
- Start the backend server:
-
Access the Application: Open your browser and navigate to:
- Teacher Portal:
http://localhost:3000/teacherLogin - Student Portal:
http://localhost:3000/studentLogin
- Teacher Portal:
Pathagama-LMS/
├── client/ # Frontend React application
│ ├── public/ # Static assets
│ ├── src/ # React source code
│ ├── components/ # Reusable components
│ ├── pages/ # Application pages
│ ├── redux/ # State management
│ └── App.jsx # Main application file
├── server/ # Backend Node.js application
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ ├── controllers/ # Request handlers
│ ├── middleware/ # Authentication and other middleware
│ ├── config/ # Configuration files (e.g., database connection)
│ └── server.js # Entry point for the backend
└── README.md # Project documentation
POST /api/auth/login/teacher: Teacher authenticationPOST /api/auth/login/student: Student authentication
GET /api/teachers/:id: Retrieve teacher detailsPOST /api/teachers: Register a teacherPUT /api/teachers/:id: Modify teacher detailsDELETE /api/teachers/:id: Delete a teacher
GET /api/students/:id: Retrieve student detailsPOST /api/students: Register a studentPUT /api/students/:id: Modify student detailsDELETE /api/students/:id: Delete a student
- Integration with third-party services for virtual classrooms and document sharing.
- AI-driven analytics for performance insights and personalized learning recommendations.
- Mobile application support for Android and iOS.
- Dark mode for improved accessibility and user experience.
We encourage contributions! To contribute:
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Submit a pull request.
This project is licensed under the MIT License.
Pathagama LMS: Advancing education through digital innovation.