SmartAcademy is a comprehensive web application designed to manage students and academic operations effectively. The system provides functionality for managing student records, authentication via JWT (JSON Web Tokens), and secure role-based access to different parts of the application.
- Add, edit, delete, and view student records.
- Each student has associated fields like:
- Name
- Surname
- Index
- Age
- Secure login system using JWT tokens.
- Role-based access control:
- Admin: Full access to manage students and system configurations.
- Teacher: Access to managing Courses and Grades.
- Student: Managing own courses and grades.
- RESTful API for seamless integration with the frontend.
- Well-documented endpoints for CRUD operations.
- Uses MySQL as the primary database.
- Efficient data models built with JPA for seamless interaction between the application and the database.
- Backend: Spring Boot
- Database: MySQL
- Frontend: React (example provided)
- Security: Spring Security with JWT.
- Java 17+
- Maven
- MySQL 8+
- Node.js and npm (for React frontend)
- Clone the repository:
git clone https://github.com/Grodelek/SmartAcademy.git cd SmartAcademy
2.Configure the database: Update the application.properties file in the src/main/resources directory:
spring.datasource.url=jdbc:mysql:https://localhost:3306/smart_academy
spring.datasource.username=your_mysql_username
spring.datasource.password=your_mysql_password
spring.jpa.hibernate.ddl-auto=update
- Build and run the backend:
mvn clean install
mvn spring-boot:run
The backend will run at https://localhost:8080.
- Frontend running
npm install
npm start
Access the frontend at https://localhost:3000.