In this Application, Admin can add, update, and delete planters, Plants, and seeds. Anyone can see the list of products and after login, they can make an order.
The objective to create this project was to implement all things which we have learned , how to contribute in a collaborative project as a team player and face some challenges which can be occur in real time project.We made a Backend Application to perform CRUD operation and made RestFul APIs Service Using java, SpringBoot, lombok and swagger-UI for Nursery Plant Application.
#[ E-R Diagram for the application:]
[# Modules:]
- Java
- Spring Boot
- Maven
- Swagger-Ui
- Lombok
- MySQL
- SpringData Jpa
- Hibernate
- Admin/Customer registration and Login.
- Admin can Perform The All Crud operation on Plants,Planters,Seeds and customers or Manage them.
- Customer can See or Buy Seeds, Plants and Planters.
- Customer can place a order.
- For Data Security We Build SignUp - Login For customer and Admin.
- Stored the data In MySQL and that Can be access By only Authenticated User.
- Proper Exception Handling.
- Proper Input Validation.
You can clone this repo and start the serve on localhost. 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/plantdb
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=**mysql username**
spring.datasource.password=**YourPassword**
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
Link: http://localhost:8888/swagger-ui/
POST /Admin/login
Logging in as a Admin with valid Email and Pass.GET /Admin/logout/{key}
Logout as a Admin with valid Key or Session token.
POST /Admin/customers/{key}
To Add a Customer with valid Session tokenGET /Admin/customers/{key}
To View All Customers with valid Session tokenGET /Admin/customers/{customerId}/{key}/
To view Customer With customerId with valid sesion tokenGET /Admin/customers/{customerEmail}/{customerPassword}/{key}
To validate Customer with Proper Email and pass of customerPUT /Admin/customers/{key}
To Update Customer With Proper session tokenDELETE /Admin/customers/{email}/{key}
To delete customer With proper Session Token
Link:
We all became proficient in reading the code of team members.
We got the better Idea and perspective of Different Layers Like: Presentation Layer, Service Layer and Data Access layer.
We get good idea about Team management and team Collaboration.
our skills in Java And Spring boot became more better.
Our code writing style became cleaner as we had to think while writing code that other team members will be reading.