Full-stack web application with Spring Boot (backend) + React (frontend) + MySQL (database).
student-app/
├── backend/ # Spring Boot project
│ ├── pom.xml
│ └── src/main/java/com/studentapp/
│ ├── StudentManagementApplication.java
│ ├── controller/StudentController.java
│ ├── model/Student.java
│ ├── repository/StudentRepository.java
│ └── service/StudentService.java
│ └── src/main/resources/
│ └── application.properties
├── frontend/ # React project
│ └── src/
│ ├── App.js
│ ├── components/StudentForm.js
│ └── services/studentService.js
└── schema.sql # MySQL schema + sample data
-- Run in MySQL Workbench or terminal:
mysql -u root -p < schema.sqlOr manually:
CREATE DATABASE student_db;cd backend
# Update DB credentials in src/main/resources/application.properties:
# spring.datasource.username=root
# spring.datasource.password=your_password_here
# Run the app
./mvnw spring-boot:run
# Backend starts at: http://localhost:8080cd frontend
# Install dependencies
npm install axios
# Start the app
npm start
# Frontend starts at: http://localhost:3000| Method | Endpoint | Description |
|---|---|---|
| GET | /api/students | Get all students |
| GET | /api/students/{id} | Get student by ID |
| GET | /api/students/search?keyword=x | Search students |
| POST | /api/students | Add new student |
| PUT | /api/students/{id} | Update student |
| DELETE | /api/students/{id} | Delete student |
{
"firstName": "Arjun",
"lastName": "Sharma",
"email": "arjun@example.com",
"phone": "9876543210",
"course": "Computer Science",
"year": 2
}- Backend: Java 17, Spring Boot 3.2, Spring Data JPA, Hibernate
- Database: MySQL 8
- Frontend: React 18, Axios
- Testing: Postman