https://github.com/mehdinmili800/school_management_system
Develop a secure, intuitive login page that supports role-based authentication for Admins, Teachers, and Students. The page should validate inputs and provide meaningful error messages.
https://github.com/mehdinmili800/school_management_system
angular css flutter html ionic javascript react react-native reactjs
Last synced: 3 months ago
JSON representation
Develop a secure, intuitive login page that supports role-based authentication for Admins, Teachers, and Students. The page should validate inputs and provide meaningful error messages.
- Host: GitHub
- URL: https://github.com/mehdinmili800/school_management_system
- Owner: mehdinmili800
- Created: 2024-11-25T15:26:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-06T12:11:29.000Z (over 1 year ago)
- Last Synced: 2025-07-11T11:58:46.313Z (about 1 year ago)
- Topics: angular, css, flutter, html, ionic, javascript, react, react-native, reactjs
- Language: Java
- Homepage: https://schoolmanagementsystem-eddb89e8acba.herokuapp.com/swagger-ui/index.html
- Size: 121 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# School Management System
Access the application:
- Default URL: `https://schoolmanagementsystem-eddb89e8acba.herokuapp.com`
- Swagger API Documentation: `https://schoolmanagementsystem-eddb89e8acba.herokuapp.com/swagger-ui/index.html`
- Admin : mehdi@gmail.com
- Password : mehdi
## How to Contribute
1. Fork this repository.
2. Clone the repository to your local machine.
3. Create a new branch for your feature/fix.
4. Write your code following the coding standards.
5. Commit your changes and push them to your forked repository.
6. Submit a Pull Request with a clear description of your changes.
Please make sure your code passes all tests before submitting a PR!
## Project Overview
The **School Management System** is a comprehensive application built using Java and Spring Boot. It is designed to manage school operations efficiently, including student management, teacher assignments, and class scheduling. This project is modular, scalable, and follows best coding practices.
## Features
- **Student Management**: Add, update, and delete student records.
- **Teacher Management**: Assign teachers to specific subjects and classes.
- **Class Scheduling**: Create and manage timetables for different grades.
- **Authentication**: Role-based access for administrators, teachers, and students.
- **Reports**: Generate detailed reports for students' performance and attendance.
## Tech Stack
- **Backend**: Java 11, Spring Boot
- **Frontend**: Angular (optional integration)
- **Database**: H2 Database (default), MySQL/PostgreSQL (configurable)
- **Build Tool**: Maven
- **Testing**: JUnit, Mockito
- **Documentation**: Swagger
## Prerequisites
Before you begin, ensure you have the following installed:
- Java 17
- Maven 3.6+
- A database system (e.g., MySQL, PostgreSQL) if not using the default H2 database
## Setup Instructions
1. Clone the repository:
```bash
git clone https://github.com/your-repo/school-management-system.git
cd school-management-system
```
2. Build the project:
```bash
./mvnw clean install
```
3. Run the application:
```bash
./mvnw spring-boot:run
```
4. Access the application:
- Default URL: `https://schoolmanagementsystem-eddb89e8acba.herokuapp.com
- Swagger API Documentation: `https://schoolmanagementsystem-eddb89e8acba.herokuapp.com/swagger-ui/index.html`
## Configuration
- Update the database connection in `src/main/resources/application.properties`:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/school_db
spring.datasource.username=your-username
spring.datasource.password=your-password
```
- For testing purposes, the default H2 database configuration is:
```properties
spring.datasource.url=jdbc:h2:mem:testdb
spring.h2.console.enabled=true
```
## Folder Structure
- `src/main/java`: Application source code
- `src/main/resources`: Configuration files and templates
- `src/test/java`: Test cases
- `target`: Compiled files and packaged application
- `pom.xml`: Maven configuration
## Contribution
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.
## License
This project is licensed under the MIT License. See the `LICENSE` file for details.
---
Feel free to customize this `README.md` file further as per your project's needs.