Skip to content

ekinciyasin/eSchool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eSchool Project

Overview

eSchool is an advanced educational management system designed to streamline school operations, enhance communication between stakeholders, and provide a comprehensive platform for managing student information, attendance, grades, and more.

Table of Contents

Features

  • Student Information Management:

    • Create, update, and delete student profiles.
    • Capture essential student details (name, date of birth, contact details, etc.).
    • Enrollment and registration functionalities.
  • Attendance Tracking:

    • Allow teachers to mark attendance for each class.
    • Record late arrivals and early departures.
  • Grade Management:

    • Input and update grades for assignments, exams, etc.
    • Calculate overall grades and GPA.
  • Communication Portal:

    • Messaging system for announcements and general communication.
    • Notifications for important updates and events.
  • Scheduling and Timetabling:

    • Create and update class schedules.
    • Handle teacher timetables and room assignments.
  • Learning Resources:

    • Upload, retrieve, and update learning resources.
    • Versioning for materials and resource categorization.
  • User Authentication and Authorization:

    • User registration and login.
    • Differentiate roles (teachers, students, parents, administrators).
    • Secure token-based authentication.
  • Reporting and Analytics:

    • APIs for generating customizable reports.
    • Analytics dashboard for visualizing key metrics.
  • Integration with Existing Systems:

    • APIs for data exchange with other school systems.
    • Ensure data synchronization and consistency.
  • Mobile Accessibility:

    • Responsive web application for mobile access.
    • Mobile app for enhanced accessibility.

Technology Stack

  • Backend:

    • Spring Boot (Java)
    • PostgreSQL (Database)
    • Spring Security (Authentication and Authorization)
  • Frontend:

    • React.js
    • Redux (State Management)
    • Material-UI (UI Components)
  • Testing:

    • JUnit (Backend Unit Testing)
    • Jest and Enzyme (Frontend Unit Testing)
    • Selenium (End-to-End Testing)
  • CI/CD:

    • GitHub Actions (Continuous Integration)
    • Docker (Containerization)
    • Kubernetes (Container Orchestration)

Getting Started

To get started with the eSchool project, follow these steps:

  1. Clone the Repository:
    git clone https://github.com/ekinciyasin/eSchool.git
    cd eSchool
    
  2. Install Dependencies:

Follow the instructions in the backend and frontend directories for installing backend and frontend dependencies, respectively.

  1. Database Setup:

Set up a PostgreSQL database and update the database configurations in the backend. Run the Application:

Start the backend server and the frontend application by following the instructions in the respective directories.

  1. Access the Application:

Open your web browser and navigate to http://localhost:3000 to access the eSchool application.

Usage

  1. Login:

Use the provided credentials to log in based on your role (teacher, student, parent, administrator).

  1. Explore Features:

Explore the various features, such as student information management, attendance tracking, and grade management.

  1. Provide Feedback:

We welcome your feedback! If you encounter any issues or have suggestions, please create an issue. Documentation For detailed documentation, including API documentation and system architecture, refer to the Documentation directory.

Contributing

We welcome contributions from the community. If you would like to contribute to the eSchool project, please follow our Contribution Guidelines.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published