The Student Management System is now a modern full-stack web application built with Spring Boot (backend) and React (frontend), providing a professional and scalable solution for managing student records. The application features a responsive web interface with advanced functionalities including CRUD operations, search, sorting, pagination, form validation, and real-time updates.
- Backend: Spring Boot with RESTful APIs, JPA/Hibernate, MySQL database
- Frontend: React with Bootstrap for responsive UI/UX
- Database: MySQL for persistent data storage
- RESTful API endpoints for student CRUD operations
- Data validation with Bean Validation
- JPA/Hibernate for ORM
- MySQL database integration
- CORS support for frontend communication
- Responsive Dashboard: Clean, modern interface with navigation
- CRUD Operations: Create, Read, Update, Delete students
- Advanced Table: Sortable columns, searchable data
- Pagination: Handle large datasets efficiently
- Form Validation: Client-side validation with error messages
- Loading Indicators: User feedback during API calls
- Confirmation Dialogs: Prevent accidental deletions
- Real-time Updates: Automatic table refresh after operations
- Java 17 or higher
- Node.js 16 or higher
- MySQL Server
- Maven (for backend build)
`�ash
mysql -u root -p < schema.sql `
`�ash
cd "d:\Projects\Student Management System"
mvn spring-boot:run ` The backend will start on http://localhost:8080
`�ash
cd frontend
npm install
npm start ` The frontend will start on http://localhost:3000
- GET /api/students - Get all students
- GET /api/students/{id} - Get student by ID
- POST /api/students - Create new student
- PUT /api/students/{id} - Update student
- DELETE /api/students/{id} - Delete student
student-management-system/ ├── pom.xml # Maven configuration ├── schema.sql # Database schema ├── src/main/java/... # Spring Boot backend │ ├── entity/Student.java │ ├── repository/StudentRepository.java │ ├── service/StudentService.java │ ├── controller/StudentController.java │ └── StudentManagementSystemApplication.java ├── src/main/resources/ │ └── application.properties # Database config └── frontend/ # React frontend ├── public/ ├── src/ │ ├── components/ │ │ ├── Navbar.js │ │ ├── StudentList.js │ │ ├── AddStudent.js │ │ └── EditStudent.js │ ├── services/StudentService.js │ └── App.js └── package.json
- Access the application at http://localhost:3000
- View Students: Browse the student list with search and sorting
- Add Student: Click "Add New Student" and fill the form
- Edit Student: Click "Edit" on any student row
- Delete Student: Click "Delete" and confirm the action
- Spring Boot 3.2.0
- Spring Data JPA
- Spring Validation
- MySQL Connector
- Maven
- React 18
- React Router DOM
- Bootstrap 5
- Axios for API calls
- React Bootstrap
- Backend: mvn spring-boot:run (hot reload enabled)
- Frontend: pm start (hot reload enabled)
`�ash
mvn clean package
npm run build `
- Input validation on both client and server
- CORS configuration for frontend-backend communication
- Prepared statements via JPA to prevent SQL injection
- User authentication and authorization
- Role-based access control
- Advanced search and filtering
- Data export functionality
- Student enrollment and course management
- Dashboard analytics and reporting