Skip to content

Architecture Model

Ege Karadibak edited this page Apr 4, 2021 · 4 revisions

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.

FRONTEND

Home Page

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.

Login Page

This page allows user to login using an existing account.

Registration Page

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.

Select a Service Page.

This page allows user to choose the service they require from the shop for the appointment. Each appointment requires only one service.

Select a Timeslot Page

This page allows user to choose an available timeslot for the responding appointment.

Appointment Summary Page

This page summarizes the appointment that the user created to the user.

Payment Page

This page is for user the put in their payment information. The user is allowed to have more than one method of payment.

Payment Verificiation Page

This page is to verify the payment.

View All Appointments Page(Dashboard Page)

This page is for user to see all of the appointments the user has.

BACKEND

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

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.

Person

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.

Appointment

The appointment part of the service component handles the operations related to the appointment. It can create and delete an appointment.

Timeslot

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.

Services

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.

Payment

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.

PERSISTENCE

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.