System Architecture


The application architecture falls into the so-called ‚ÄúThree Tier Architecture‚ÄĚ model¬†(click the image for zoom).¬†We chose this¬†architectural¬†model in order to ensure the flexibility, security and performance of the application. The functionality is separated into three different tiers.

The first is the Presentation Tier and it represents the interface (UI) of the application. The client interacts with it directly. The second segment is the Application Tier (Business Logic). It is responsible for the application functionality. The last one is the Data Tier and consists of database servers.Here the information is stored and from here it is retrieved.

Presentation Tier

For developing the User Interface, we will use mostly HTML, CSS, and Javascript.

This tier communicates with the others by presenting the responses back to the user who made an HTTP request.It displays the information that the user is asking for, such as search results list, user profile, chat messages, etc.

Because we want to offer a good user experience, the design will be colorful, yet professional and to avoid errors, we will add client-side validation for all the forms we ask users to complete.

Application Tier

This middle tier controls the functionality of the web application. It is focused on the server-side or backend logic.The information displayed in the user interface (presentation tier) is received from this tier.¬† It ” bridges the gap between the user interface and the underlying database, hiding technical details from the users” [1]

As a technology, we chose to use node.js for the backend. It is fast, asynchronous server-side JavaScript.

Data Tier

“Data needed by the application logic layer are retrieved from the database, then the computation results produced by the application logic layer are stored back in the database. “[2].

For the purpose of our application, we decided to use Firebase as the database. It is non-relational, schema-less, cloud-hosted JSON database. We chose to work with it because It can synchronize data between the different clients immediately.


[1], [2]¬† S.C. Chen, S. Gulati, S. Hamid, X. Huang, L. Luo, N.Morisseau-Leroy, M. D.¬† Powell, C.Zhan and C. Zhang,¬† “A Three-Tier System Architecture Design and Development for Hurricane Occurrence Simulation”, International Conference on Information Technology: Research and Education, 2003. Proceedings. ITRE2003, 11-13 Aug. 2003.¬†¬†

Available at (Accessed on the 09 April 2018)

Author: Emanuela Colta

Leave a Reply

Your email address will not be published. Required fields are marked *