Skip to content

mohammadAbdin/final-project

Repository files navigation

School Management System

Overview

The School Management System is a comprehensive solution designed to streamline the educational process by providing a centralized platform for teachers, students, and parents. The system is built using React with TypeScript for the frontend and MongoDB for the backend. It offers three distinct panels for teachers, students, and parents, each tailored to their specific needs.

Features

Teacher Panel

  • Assign Exams: Teachers can create and assign exams to students, including setting the marks for each exam.
  • Upload Videos: Teachers can upload educational videos for students to enhance their learning experience.
  • Manage Attendance: Teachers can track and manage student attendance.
  • Provide Feedback: Teachers can give feedback on student performance and progress.
  • View Schedule: Teachers can access their schedule to keep track of classes and other activities.

Student Panel

  • View Videos: Students can watch educational videos uploaded by their teachers.
  • View Profile: Students can access their personal details and profile information.
  • Track Progress: Students can view their exam results, attendance records, and feedback from teachers.

Parent Panel

  • Monitor Child's Progress: Parents can track their children's academic progress, including exam results, attendance records, and teacher feedback.

Technology Stack

  • Frontend: React with TypeScript
  • Backend: Node.js, Express.js
  • Database: MongoDB

Installation

To get started with the School Management System, follow these steps:

  1. Clone the repository:

    git clone https://github.com/yourusername/school-management-system.git
    cd school-management-system
  2. Install dependencies:

    npm install
  3. Setup environment variables: Create a .env file in the root directory and add your MongoDB connection string and any other necessary environment variables.

  4. Start the development server:

    npm run dev
  5. Build for production:

    npm run build

Usage

Once the application is up and running, navigate to the respective URLs to access the different panels:

  • Teacher Panel: /teacher
  • Student Panel: /student
  • Parent Panel: /parent

Contributing

We welcome contributions to improve the School Management System. To contribute, follow these steps:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature-name
  3. Make your changes and commit them:
    git commit -m 'Add some feature'
  4. Push to the branch:
    git push origin feature/your-feature-name
  5. Open a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any questions or inquiries, please contact us at support@example.com.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors