A full-stack web application for schools to efficiently manage their activities, including student records, teacher information, schedules, and more. Built with a Spring Boot backend and React + Vite frontend.
| Component | Tech Stack |
|---|---|
| Backend | Java, Spring Boot, Gradle |
| Frontend | React, Vite, npm |
| Styling | CSS Modules |
- 🎓 Student Management - Track and manage student records
- 👨🏫 Teacher Management - Manage teacher information
- 📚 Classes Management - Organize and view classes
- 🔐 Authentication - Secure login and registration system
- 📱 Responsive UI - Modern, mobile-friendly interface
- ⚡ Hot Module Replacement - Instant updates during development
SchoolManager/
├── backend/
│ └── schoolmanager/ # Spring Boot application
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/example/schoolmanager/
│ │ │ │ ├── SchoolmanagerApplication.java
│ │ │ │ ├── entity/
│ │ │ │ │ ├── Student.java
│ │ │ │ │ └── Teacher.java
│ │ │ │ ├── repository/
│ │ │ │ └── service/
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ ├── build.gradle
│ ├── gradlew
│ └── gradlew.bat
├── frontend/
│ ├── public/ # Static assets
│ ├── src/
│ │ ├── components/
│ │ │ ├── Welcome/
│ │ │ ├── Login/
│ │ │ ├── Register/
│ │ │ ├── Students/
│ │ │ ├── Teachers/
│ │ │ ├── Classes/
│ │ │ └── NavBar/
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ └── index.css
│ ├── package.json
│ ├── vite.config.js
│ └── index.html
└── README.md
- Java 11+ (or version required by Spring Boot)
- Gradle (included via Gradle Wrapper)
- Node.js 14+
- npm
git clone https://github.com/jmoreno-dev/SchoolManager.git
cd SchoolManagerOpen PowerShell and navigate to the backend folder:
cd backend\schoolmanager
.\gradlew.bat bootRunThe backend will start on http://localhost:8080 (or the port defined in application.properties).
In another PowerShell terminal:
cd frontend
npm install
npm run devThe frontend will be available at http://localhost:5173.
Tip: Open both terminals side-by-side to run backend and frontend simultaneously.
cd backend\schoolmanager
.\gradlew.bat buildThe JAR file will be generated in build/libs/.
cd frontend
npm run buildStatic files will be output to the dist/ folder.
cd backend\schoolmanager
.\gradlew.bat testcd frontend
npm test(if configured)
- Backend: Modify
backend/schoolmanager/src/main/resources/application.propertiesfor database, server port, and other settings. - Frontend: Create a
.envfile in thefrontend/directory for environment variables (useVITE_prefix to expose them).
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m 'Add your feature' - Push to the branch:
git push origin feature/your-feature - Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
Happy coding! 🚀