A user-friendly course enrollment web application built using the MERN stack (MongoDB, Express.js, React, Node.js). The platform supports both user and admin functionalities, with features like course management, enrollment tracking, and a visualized weekly schedule.
Note
The demo uses Render's free hosting plan and external database services, which may cause occasional downtime. If the site is unavailable, please wait a moment and refresh.
The E-Course Enrollment System allows users to:
- Register and log in to their accounts.
- Enroll in available courses based on a weekly schedule divided into 30-minute time slots.
- Administer course availability and view real-time course status.
- User Authentication: Secure login and registration.
- Dynamic Course Management: Enroll or unenroll from courses with real-time status updates.
- Admin Tools: Manage course availability and slots.
- Visual Schedule: Interactive weekly schedule view.
- Backend in TypeScript: Ensures type safety and maintainability.
- Docker Support: Simplifies deployment and setup.
- Gray Slots: Not available.
- White Slots: Available for enrollment.
git clone https://github.com/whiteSHADOW1234/E-Course.git
Run the following commands in both the client
and server
directories:
cd client && npm install && cd ..
cd server && npm install && cd ..
- Rename
.env.example
to.env
in bothclient
andserver
directories. - Replace placeholders in the
.env
files with your actual configuration.
cd server && npm start
- Ensure Docker and Docker Compose are installed on your machine.
- Set up your
.env
file in theserver
directory (refer to.env.example
).
From the project root directory, run:
docker-compose up -d --build
The application will be accessible at http://localhost:5000
.
We welcome contributions! If you'd like to improve the project, please:
- Open an issue to discuss potential changes.
- Submit a pull request with detailed explanations.