-
Notifications
You must be signed in to change notification settings - Fork 1
Architecture Model
Description: We used the layered architectural design pattern in our system. In this design pattern, each layer (Frontend, Backend and, Persistence) provides services for the layer above it and uses service from the layer below it. This pattern helped us by splitting our project into Frontend, Backend and, Persistence layers which allows us to change the layers independently. This is a huge advantage for implementing android cause this makes it easier.
This page is the first page the user accesses. This is a navigation page where user can access multiple pages such as the login page, create an account page, about page, contact page, technician page, and services page. About page provides an introduction to the website. The contact page provides the contact information to the Auto Repair Shop. The technician page provides information about the technicians that work in the shop. And services page allows administrator to create services.
This page allows user to login using an existing account.
This page allows user to create an account if he/she doesn't have one. There are 3 types of account creation. Customers should choose the customer button in order to create an account, technicians should choose the technician button in order to create an account.
This page allows user to choose the service they require from the shop for the appointment. Each appointment requires only one service.
This page allows user to choose an available timeslot for the responding appointment.
This page summarizes the appointment that the user created to the user.
This page is for user the put in their payment information. The user is allowed to have more than one method of payment.
This page is to verify the payment.
This page is for user to see all of the appointments the user has.
The Backend part provides the service methods to the Frontend part through Restful Services. RESTful API methods in the controller call methods in the services, which communicates with the Persistence Layer.
The Rest controller handles all GET, PUT, PUSH and, DELETE requests. Restful API methods in the controller uses the methods in the services component which communicates with the Persistence layer.
The person part of the service component handles the operations related to the customer, technician, and administrator. It can create a new account, change password, log in for the customer, technician and administrator.
The appointment part of the service component handles the operations related to the appointment. It can create and delete an appointment.
The timeslot part of the service component handles the operations related to the timeslots of the appointments. It can create and delete a timeslot for the appointments.
The services part of the service component handles the operations of the services. It can create and delete a service user to choose one for the appointment.
The payment part of the service component handles the operations related to payments. It can create a new payment for the user to pay for the corresponding appointment.
The persistence layer communicates with the Database enabling the Backend services to perform CRUD operations on objects from the model classes. The Heroku Database allows persisting and retrieval of data allowing the Backend to perform services in the Backend section.