|
| 1 | +<!-- TOC --> |
| 2 | + |
| 3 | +- [Tech Spec](#tech-spec) |
| 4 | + - [Overview](#overview) |
| 5 | + - [Scenarios](#scenarios) |
| 6 | + - [COVID-19](#covid-19) |
| 7 | + - [Automatic Checkin](#automatic-checkin) |
| 8 | + - [Organized Response](#organized-response) |
| 9 | + - [Non Goals](#non-goals) |
| 10 | + - [Minimum Viable Product](#minimum-viable-product) |
| 11 | + - [Components](#components) |
| 12 | + - [API](#api) |
| 13 | + - [CI/CD](#cicd) |
| 14 | + - [Data](#data) |
| 15 | + - [Application Architecture](#application-architecture) |
| 16 | + - [Roadmap](#roadmap) |
| 17 | + - [Contact Info](#contact-info) |
| 18 | + |
| 19 | +<!-- /TOC --> |
| 20 | + |
| 21 | +# Tech Spec |
| 22 | +Bmore Responsive is a Contact and Response Management System (CRMS) and API. This document will describe the application in some detail. |
| 23 | + |
| 24 | +## Overview |
| 25 | +This application will allow users to add and update contact information for individuals and entities. Additionally, the system will facilitate tracking of entity status and any other pertinent information. The data collected can be used by municipalities to organize response efforts in a disaster or crisis situation. |
| 26 | + |
| 27 | +## Scenarios |
| 28 | +This application and API can be used in a few different ways. |
| 29 | + |
| 30 | +### COVID-19 |
| 31 | +During the COVID-19 Pandemic the City of Baltimore needs a way to check-in with healthcare providers to ensure they have all of the supplies they need, if they have any patients sick with the virus, if anyone is in quarantine, etc. |
| 32 | + |
| 33 | +Many healthcare facilities have a few members on staff, however the contact information for those individuals may be out of date or the facility may have experienced some changeover since the last checkin. |
| 34 | + |
| 35 | +Using the API and a front-end, the City of Baltimore would be able to keep track of the facility's status via multipule contact points in an organized and efficient way. |
| 36 | + |
| 37 | +### Automatic Checkin |
| 38 | +Facilities may not have time for phone calls, and the number of available city workers may not be sufficient to check in with all providers during an emergency. |
| 39 | + |
| 40 | +Using our API the providers can securely check-in using a web form on their own. One-time use logins can be sent on regular intervals to preferred contacts for each facility. This can allow contacts to update facility status on their own time without the need for city workers to contact them directly. |
| 41 | + |
| 42 | +### Organized Response |
| 43 | +City workers and volunteers have a need to check in with facilities during the COVID-19 pandemic. The callers need to track who has called who and when, and track the overall trends in automatic updates. |
| 44 | + |
| 45 | +Using this API workers can login and see the status of the city at a glance, and they can prioritize their check-ins based on need and trend. |
| 46 | + |
| 47 | +## Non Goals |
| 48 | +What will this project not accomplish? |
| 49 | +- No front-end website or app |
| 50 | +- No outside data interactions |
| 51 | +- Non-city employee full login (dashboard, etc) |
| 52 | +- Statistical or analytical endpoints |
| 53 | + |
| 54 | +## Minimum Viable Product |
| 55 | +To use this product as quickly as possible we will be implementing the following features: |
| 56 | +- User creation |
| 57 | +- Contact creation |
| 58 | +- Entity creation |
| 59 | +- Contact->Entity linking |
| 60 | +- Contact single-use login check-in ability |
| 61 | + |
| 62 | +## Components |
| 63 | +This application will be broken down into several components. Each will be outlined here. |
| 64 | + |
| 65 | +### API |
| 66 | +The API is the application for all intents and purposes. Use of the API and possible paths of use are defined in the flowchart below. |
| 67 | + |
| 68 | + |
| 69 | +### CI/CD |
| 70 | +We will use TravisCI, Docker, Netlify, and AWS to provide constant code deployments and test coverage. |
| 71 | + |
| 72 | + |
| 73 | +### Data |
| 74 | +This product makes use of [PostgreSQL](https://www.postgresql.org/) for the data layer and [Sequelize](https://sequelize.org/) for database interactions. The schema is outlined below |
| 75 | + |
| 76 | + |
| 77 | +### Application Architecture |
| 78 | +The overall application will have several components in support of the code. These will facilitate secure communication between any front end, our API, and the data layer. Additionally our architecture will be designed to be scalable for instances of heavy load. |
| 79 | + |
| 80 | + |
| 81 | +## Roadmap |
| 82 | +We estimate the API will be at v1.0.0 by the end of March. |
| 83 | + |
| 84 | +## Contact Info |
| 85 | +Give as much, or as little, info as you want here. |
0 commit comments