Live Link : https://choloprogrammingshikhi.vercel.app/
Welcome to the documentation for our eLearning Management System (eLMS)! Our platform, built on the MERN (MongoDB, Express.js, React, Node.js) stack, offers a comprehensive solution for administrators, teachers, and students to manage and engage with online learning programs. With eLMS, administrators can effortlessly create and manage courses, while students can access content, submit assignments, and engage in their educational journey. Teachers have powerful tools to create, update, and grade assignments. This documentation provides installation instructions, usage guidelines, and troubleshooting tips to help you make the most of eLMS. Let's embark on a journey of enhanced education together!
Requirements:
- Node.js
Step 1: Clone the Repository
-
Open your terminal or command prompt.
-
Navigate to the directory where you want to clone the eLMS repository.
-
Run the following command to clone the repository:
git clone https://github.com/mdadul/cps-lms-client.git
Step 2: Install Dependencies
-
Navigate into the cloned repository:
cd cps-lms-client
-
Install the required dependencies by running the following command:
npm install
-
Step 3: Set Up Environment Variables
- Locate the
.env.example
file in the root directory of the project. - Rename the file to
.env
. - Open the
.env
file in a text editor.
Note: The .env file contains sensitive information and should not be shared publicly or committed to version control.
- Customize the environment variables based on your configuration
REACT_APP_API_URL = http:localhost:5000
- Locate the
Step 4: Start the Server
- Once the dependencies are installed and the environment variables are set up, you can start the server by running the following command:
npm start
Step 5: Accessing CPS_LMS Open a web browser and visit http://localhost:3000
1. Admin Features:
- Course Management: Create, update, and delete courses.
- Content Management: Add and manage course content, including lectures, videos
- Syllabus Management: Create and update course syllabus, outlining the topics.
- Notice Management: Publish important notices and announcements for courses or the entire system.
- Assignment Management: Create assignments, set deadlines, and track submissions.
- Teacher Management: Manage teacher accounts and assign roles and permissions.
2. Student Features:
- Course Enrollment: View available courses and enroll in desired courses.
- Course Access: Access approved courses and view course details.
- Course Content: Access and browse course content, including lectures, resources, and supplementary materials.
- Syllabus: View the course syllabus to understand the curriculum and learning objectives.
- Assignment Submission: Submit assignments within the specified deadlines.
3. Teacher Features:
- Content Creation: Add and manage course content, including lectures, resources, and multimedia materials.
- Syllabus Management: Define course syllabi, including topics, objectives, and resources.
- Assignment Management: Create assignments, set deadlines, and evaluate student submissions.
- Grading: Review and grade student assignments, providing feedback and evaluations.
4. Authentication and User Management:
- User Registration: Allow new users to create accounts and register within the system.
- Login and Authentication: Securely authenticate users and protect access to the system.
- Role-based Access Control: Assign roles (admin, teacher, student) and define permissions for different user types.
5. Search and Filtering:
- Course Search: Search for courses based on keywords, topics, or instructors.
- Content Filtering: Filter course content by type, topic, or relevance.
While the eLearning Management System (eLMS) provides a comprehensive solution for managing online learning programs, it's important to be aware of its limitations and consider future enhancements to further improve the system. Here are some areas to consider:
1. Limitations:
- Scalability: As the user base and the number of courses grow, the system's scalability might become a concern. To handle increased traffic and larger data volumes, additional measures such as load balancing and horizontal scaling may need to be implemented.
- Performance: Depending on the server infrastructure and network conditions, the system's performance may vary. Optimizations, such as caching mechanisms or query optimizations, can be explored to enhance performance and responsiveness.
- Mobile Accessibility: While eLMS is accessible through web browsers, a dedicated mobile application or a responsive design could be developed to provide a more seamless mobile experience for users.
- Offline Access: Currently, eLMS relies on an internet connection for users to access the system. Introducing offline capabilities, such as allowing users to download course materials for offline viewing, could enhance accessibility and flexibility.
2. Future Enhancements:
- Advanced Reporting and Analytics: Enhance the reporting and analytics capabilities to provide more detailed insights into student performance, course effectiveness, and engagement metrics. This could involve generating visual dashboards, trend analysis, and predictive analytics to support data-driven decision making.
- Gamification and Collaboration: Introduce gamification elements, badges, leaderboards, or interactive learning activities to promote engagement and motivate students. Implement collaborative features like discussion forums, chat functionality, or group projects to facilitate peer-to-peer interaction and knowledge sharing.
- Virtual Classroom Integration: Integrate eLMS with virtual classroom tools, video conferencing platforms, or learning management systems (LMS) to enable live lectures, virtual classrooms, and synchronous learning experiences.
- Enhanced Communication Features: Improve communication channels within the system, such as real-time chat, notifications, or email integration, to facilitate seamless communication between administrators, teachers, and students.
- Content Authoring Tools: Develop built-in authoring tools or integrations with popular content creation tools to simplify the process of creating and managing course content, quizzes, and assessments.
- Accessibility and Multilingual Support: Ensure eLMS adheres to accessibility standards, such as WCAG, and provide multilingual support to cater to a diverse user base and comply with accessibility regulations.
Developed By:
Sorowar Mahabub, C201032, Dept. of CSE, IIUC
Emdadul Islam, C201041, Dept. of CSE, IIUC