EnrollX is a student course registration portal built with React for the frontend and Express for the backend. It provides a seamless experience for students to register, log in, and manage their courses efficiently. The system features secure authentication, a user-friendly interface, and a robust database to store student information.
- User Registration: Students can create an account and manage their profile.
- Login/Logout: Secure authentication with session management using JWT (JSON Web Tokens).
- Password Reset: Students can reset their password via their registered email.
- Course Registration: Students can browse and register for available courses.
- Admin Dashboard: Admins can manage course offerings and view registered students.
- Frontend: React.js
- Backend: Express.js (Node.js)
- Database: SQL Server
- Authentication: JWT (JSON Web Tokens)
- Styling: CSS/SCSS
Before you begin, ensure you have the following installed:
- Node.js (v14 or later)
- SQL Server (for backend database)
- Git
-
Clone the repository:
git clone https://github.com/mmujtabah/EnrollX.git cd EnrollX
-
Install backend dependencies:
cd backend npm install
-
Install frontend dependencies:
cd ../frontend npm install
-
Set up the database:
- Configure the SQL Server connection in the backend.
- Ensure the database is running and accessible.
-
Run the backend server:
cd ../backend npm start
-
Run the frontend application:
cd ../frontend npm start
The frontend will be accessible at
http://localhost:3000
.
The backend requires certain environment variables. Create a .env
file in the backend
directory and add the following:
DB_HOST=your-database-host
DB_USER=your-database-username
DB_PASS=your-database-password
JWT_SECRET=your-secret-key
We welcome contributions to EnrollX! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-name
). - Open a pull request.
Please ensure your code follows the project's coding standards and includes appropriate tests.
This project is licensed under the MIT License. See the LICENSE file for details.
For any issues or questions, please open an issue on the GitHub repository.