Wondr Wrod, the amusement park web application, built with Java Spring Boot, HTML, CSS, and JavaScript, helps visitors to plan their trip, purchase tickets for different activities , and learn about park attractions. It features user authentication, user-friendly interfaces. The application provides a seamless experience for visitors, making their trip more enjoyable.
- WondrWordApplication
- AdminController
- CustomerController
- TicketController
- ActivityController
- POST
/admin/registerAdmin
Register a new admin user. - GET
/admin/signin
Authenticate an admin user. - DELETE
/admin/delete/{adminId}
Delete an admin user. - GET
/admin/{adminId}
Get admin by ID. - GET
/admin/all
Get all admins with pagination. - GET
/admin/customers
Get all customers. - GET
/admin/customers/{customerId}
Get customer by ID. - DELETE
/admin/customers/delete/{customerId}
Delete a customer.
- POST
/customers/registerCustomer
Register a new customer. - GET
/customers/signin
Authenticate a customer. - PUT
/customers/update/{customerId}
Update customer details. - DELETE
/customers/delete/{customerId}
Delete a customer. - GET
/customers/{customerId}
Get customer by ID.
- GET
/admin/ticket/getAllTicket
Get all tickets. - GET
/admin/ticket/{ticketId}
Get ticket by ID. - POST
/customers/ticket/{customerId}/{activityId}
Create a new ticket. - PUT
/customers/ticket/{customerId}/{ticketId}
Update a ticket. - GET
/customers/ticket/{customerId}/{ticketId}
Get ticket by ticket ID. - DELETE
/customers/ticket/{customerId}/{ticketId}
Delete a ticket. - GET
/customers/ticket/history/{customerId}
Get ticket booking history with pagination. - GET
/customers/ticket/todayHistory/{customerId}
Get ticket booking history for the day. - GET
/customers/ticket/fair/{customerId}
Get total fare for the customer.
- POST
/admin/activity/add
Add a new activity. - PUT
/admin/activity/update/{activityId}
Update an activity. - DELETE
/admin/activity/delete/{activityId}
Delete an activity. - GET
/admin/activity/all
Get all activities with pagination. - GET
/admin/activity/{activityId}
Get activity by ID. - GET
/admin/activity/getActivitiesByCharge
Get activities by charge. - GET
/admin/activity/getNumberOfActivitiesByCharge/{charge}
Get count of activities by charge. - GET
/admin/activity/getAllActivitiesByDate
Get activities within a date range. - GET
/admin/activity/getAllActivitiesOfCustomerByDate/{customerId}/date
Get activities of a customer within a date range.
- Admin
- Customer
- Ticket
- Activity
- TicketDTO
- AdminException
- CustomerException
- TicketException
- ActivityException
- GlobalErrorException
- ErrorDetails
- Java
- Hibernate
- SpringBoot
- REST API
- Lombok
- SQL
- Swagger
- Postman
- Before performing any task the user should be confirmed whether the user is Admin or Customer and for that the user should have logged in.
- For each contoller we need to provide the login details for implementation of particular methods i.e, if the customer wants to purchase some planter then he/she should give his/her correct name during purchasing session and only customer can perform that action and for that One to Many relationship is established.
- If we want to add some plants or seeds then only admin can do that so here we have provided the validation i.e during adding a particular item user should give the correct name of the admin otherwise it will throw an exception and that exception is properly handled.