In this application, we can manage student data, and course data. Admin can add students, courses, and can manage these entities, students can get the courses they are assigned in and can drop from a particular course.
- Layered architecture
- Admin can register/login
- Register Courses,Students
- Get Courses,Students
- Student will be verified before ascession API
- Can update Profile details
- Admin Authentication of signUp and Login using Spring security
- Proper Exception Handling, and Input Validation
- Data Stored in the database(mySQL)
- Before running the API server, we should update the database config inside the application.properties file.
- Update the port number, username and password as per your local database config.
server.port=8888
spring.datasource.url=jdbc:mysql://localhost:3306/studentsdb
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=M@)Vishal!@L
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
- Java Core
- Spring Data JPA
- Spring Security
- Spring Boot
- Hibernate
- MySQL
{
"userId": 1,
"name": "Vishal Kale",
"mobileNumber": "8999712976",
"password": "$2a$10$W.voyfiLVKfrB3u.BM.iRO6I6BN9qik8JNx9Ux./2dEu57.5ZS.rO",
"role": "ROLE_ADMIN"
}
**Response**
{
"courseId": 2,
"courseName": "Java Backend Development",
"description": "The course is designed for every person from beginner to advance level",
"courseType": "Live",
"duration": "8 Months",
"topics": "Java Core, Hibernate, JDBC, Spring, SpringBoot"
}
{
"courseId": 4,
"courseName": "Full Stack Web Development",
"description": "The course is designed for every person from beginner to advance level",
"courseType": "Live",
"duration": "9 Months",
"topics": "JavaScript, HTML, CSS, NodeJS, React"
}
{
"courseId": 4,
"courseName": "Full Stack Web Development",
"description": "The course is designed for every person from beginner to advance level",
"courseType": "Live",
"duration": "9 Months",
"topics": "JavaScript, HTML, CSS, NodeJS, React",
"studentList": [
{
"studentId": 5,
"name": "Vishal Sahadev Kale",
"fatherName": "Sahadev Kale",
"email": "kale@gmail.com",
"mobileNumber": "8999712976",
"dob": "2000-12-20",
"gender": "MALE"
},
{
"studentId": 7,
"name": "Abhinay Ashok Zagade",
"fatherName": "Ashok Zagade",
"email": "zagade@gmail.com",
"mobileNumber": "8999712977",
"dob": "2001-02-03",
"gender": "MALE"
},
{
"studentId": 9,
"name": "Praneet Pradeep Jagtap",
"fatherName": "Pradeep Jagtap",
"email": "jagtap@gmail.com",
"mobileNumber": "9999712978",
"dob": "2000-02-29",
"gender": "MALE"
},
{
"studentId": 11,
"name": "Prateek Narshiv Gore",
"fatherName": "Narshiv Gore",
"email": "gore@gmail.com",
"mobileNumber": "8499712978",
"dob": "2003-05-16",
"gender": "MALE"
}
]
}
**Response
{
"name": "Vishal Sahadev Kale",
"courses": [
{
"courseId": 2,
"courseName": "Java Backend Development",
"description": "The course is designed for every person from beginner to advance level",
"courseType": "Live",
"duration": "8 Months",
"topics": "Java Core, Hibernate, JDBC, Spring, SpringBoot"
},
{
"courseId": 4,
"courseName": "Full Stack Web Development",
"description": "The course is designed for every person from beginner to advance level",
"courseType": "Live",
"duration": "9 Months",
"topics": "JavaScript, HTML, CSS, NodeJS, React"
}
],
"studentId": 5
}