Backend - Current State
Progress of Backend Development
Backend Architecture
Web API - Client and Server
The Web API is now capable of making client-server interactions and is being hosted on a Linux Ubuntu 20.04 cloud server through DigitalOcean. To deploy the API application, a plethora of different approaches to the task were conducted, but in the end it was easiest and most efficient to create a Docker image for the application, create a docker-compose file for the application’s Dockerfile, and transfer this file to the DigitalOcean droplet in which the only installations needed on the server were Docker and SQLServer. Though the domain for the API will be changed further into the project, a test page for the API can be visited, but the link is currently being kept private for security reasons.
Because of the recent deployment of the API, the frontend team can now make secure data requests and transfers from the cloud databases inside of the mobile application.
Updated UML Diagrams - WebAPI
Client
Common
Server
Updated Database Schemas
Below are the most recently updated reworkings of the project’s database schemas. The databases listed below can be seen in the RevMetrix System Architecture
Local Database Schema (Localhost)
Backend Database Schema (Cloud Server)
Both the User and Research databases have been combined into one database, with permissions set for raw data for the sole purpose of providing data to the Research UI.
Results of database stress testing can be seen at the link below
- Database Observation Data
All data collected from database engine stress testing