EduPortal is a comprehensive online education platform designed for students, teachers, and admins. It allows users to enroll in classes, submit assignments, request teaching roles, and manage class approvals, all through a seamless user interface.
EduPortal is an interactive platform where users can:
- Enroll in various educational courses.
- Submit and manage assignments.
- Request to become a teacher and manage classes upon approval.
- Utilize dedicated dashboards for students, teachers, and admins.
- Profile Management: View and update user profile.
- Class Enrollment: View enrolled classes and their updates.
- Assignment Submission: Submit assignments and track submission status.
- Class Management: Create, update, or delete classes.
- Assignment Tracking: View student submissions and progress.
- Request Approval: Request admin approval for new classes.
- Class Approval: Approve or delete class requests.
- User Role Management: Promote users to admin roles or handle teacher requests.
- Comprehensive Control: Access all teacher and class requests.
- React: Used for building the user interface.
- React Router: Handles the routing between pages.
- React Hook Form: Manages form validation and submission.
- React Icons: Provides a variety of icons for the application.
- React Scroll: Adds smooth scrolling for better user experience.
- Axios: Facilitates HTTP requests to the backend.
- Firebase: Used for authentication and user management.
- Stripe: Integrated for secure payment processing.
- SweetAlert2: Provides beautiful and customizable alert messages.
- Swiper: Utilized for creating interactive carousels and sliders.
- React Query: Helps in data fetching and state management.
- Express: A web framework for Node.js for building the server-side application.
- MongoDB: A NoSQL database for storing application data.
- JWT: Used for generating and verifying JSON Web Tokens for authentication.
-
Clone the repository:
git clone https://github.com/your-username/eduportal.git cd eduportal
-
Install dependencies:
npm install
-
Set up environment variables:
- Create a
.env
file in the root directory and add the required environment variables (e.g., API keys, MongoDB URI).
- Create a
-
Run the application:
npm start
-
Open your browser and navigate to:
http://localhost:3000
- Register or log in to the application.
- Browse and enroll in available classes.
- Submit assignments and track their status.
- Request to become a teacher and manage your classes upon approval.
- Admins can approve classes and manage user roles.
We welcome contributions to improve EduPortal. To contribute:
-
Fork the repository.
-
Create a new branch for your feature or bug fix:
git checkout -b feature-name
-
Make your changes and commit them:
git commit -m "Describe your feature"
-
Push your changes to GitHub:
git push origin feature-name
-
Create a pull request to the
main
branch. Provide a clear description of your changes.
This project is licensed under the MIT License. See the LICENSE file for more details.
For any inquiries or issues, please contact:
- Email: support@eduportal.com
- Twitter: @eduportal
- React Icons: For a comprehensive icon library.
- React Hook Form: For form handling and validation.
- Firebase: For user authentication.
- Stripe: For secure payment integration.