Skip to content

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.

Notifications You must be signed in to change notification settings

yagi17/EduPortal-Client

Repository files navigation

EduPortal

Live Demo License

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.

About EduPortal

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.

Live Demo

Features

Student Dashboard

  • Profile Management: View and update user profile.
  • Class Enrollment: View enrolled classes and their updates.
  • Assignment Submission: Submit assignments and track submission status.

Teacher Dashboard

  • Class Management: Create, update, or delete classes.
  • Assignment Tracking: View student submissions and progress.
  • Request Approval: Request admin approval for new classes.

Admin Dashboard

  • 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.

Technologies Used

Front-End

  • 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.

Back-End

  • 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.

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/eduportal.git
    cd eduportal
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    • Create a .env file in the root directory and add the required environment variables (e.g., API keys, MongoDB URI).
  4. Run the application:

    npm start
  5. Open your browser and navigate to:

    http://localhost:3000
    

Usage

  • 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.

Contributing

We welcome contributions to improve EduPortal. To contribute:

  1. Fork the repository.

  2. Create a new branch for your feature or bug fix:

    git checkout -b feature-name
  3. Make your changes and commit them:

    git commit -m "Describe your feature"
  4. Push your changes to GitHub:

    git push origin feature-name
  5. Create a pull request to the main branch. Provide a clear description of your changes.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any inquiries or issues, please contact:

Acknowledgements

  • React Icons: For a comprehensive icon library.
  • React Hook Form: For form handling and validation.
  • Firebase: For user authentication.
  • Stripe: For secure payment integration.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages