Skip to content

Architecture Model

adambabs edited this page Nov 17, 2019 · 29 revisions

Architectural Model

Architectural Model

External Subsystems

There are three main parts of the system – each for a different user group.

  • Students – a group that will use the system to improve their academic performance and attend lessons.
  • Tutors – a group that will teach a wide variety of courses.
  • System Managers – a group that will supervise the operation of the system.

Our group implements the Tutors' viewpoint.

Frontend - Consists of two parts:

  • Mobile Application
  • Web Application

Frontend – Mobile Application

To be implemented as a part of deliverable 4.

Frontend – Web Application

Graphical User Interface Represents all options that the tutor has Tutor Business Methods:

  • sign up to the system and log in
  • apply to teach new subjects
  • review students and the system
  • confirm or delete appointments
  • indicate availability
  • change the rate
  • see student reviews

The requests made in the Web Application prompt RESTful API method calls which are sent to the Backend component of the system.

Backend - Consists of four components that interact with each other

Data Persistence Layer

Persists objects that were created and remain in the system throughout the working time of the system.

RESTful API Controller

Sends queries to the Service Controller. Calls to POST and GET the data have been implemented here.

Service Controller

Controller - contains the implemented business methods that create, read, update and delete the data in the database. It answers the queries called in the frontend which were sent to the REST API controller. Service Controller processes them and makes changes according to the received query. Service controller interacts with the data by reading the existing data and returning it to the frontend, or by taking the data from the fronted and persisting it in the database.

Model

Implementation of methods to manage the objects of each entity. Used by the Service Controller and API controller.