Skip to content

Prototype for Emergency Rental Assistance Reporting - API & WYSWIG

Notifications You must be signed in to change notification settings

ginabeena/example-era-app

Repository files navigation

Example ERA Prototype App

Version 1: POST /submitReport Request:

{
   "queue_total":100,
   "paid_count":30,
   "timespan_days":30,
   "rejected_count":10,
   "reporter":{
      "census_block_groups":[
         "01-234-567890-1"
      ],
      "zipcode":"32168",
      "county_name":"Volusia County",
      "city_name":"New Smyrna Beach",
      "name":"Gina Maini",
      "id":"3bf8788f-6872-43be-b2f7-cb46a0ac8aeb"
   }
}  

Version 1: /submitReport Response:

{
   "submitted_on":"6/24/2021 12:00:00 AM",
   "reporter":{
      "census_block_groups":[
         "01-234-567890-1"
      ],
      "zipcode":"32168",
      "county_name":"Volusia County",
      "city_name":"New Smyrna Beach",
      "name":"Gina Maini",
      "id":"3bf8788f-6872-43be-b2f7-cb46a0ac8aeb"
   },
   "queue_total":100,
   "paid_count":30,
   "timespan_days":30,
   "rejected_count":4,
   "version":"Alpha.01",
   "id":"c2ec7ea9-dae1-498e-b301-cac4adef97c9",
   "avg_waittime_30_days":15.2,
   "p99_waittime_30_days":13.7
}

Version 1: GET /showReports Response:

{
   "snapshots":[
      {
         "submitted_on":"6/24/2021 12:00:00 AM",
         "reporter":{
            "census_block_groups":[
               "01-234-567890-1"
            ],
            "zipcode":"32168",
            "county_name":"Volusia County",
            "city_name":"New Smyrna Beach",
            "name":"Gina Maini",
            "id":"3bf8788f-6872-43be-b2f7-cb46a0ac8aeb"
         },
         "queue_total":100,
         "paid_count":30,
         "timespan_days":30,
         "rejected_count":4,
         "version":"Alpha.01",
         "id":"c2ec7ea9-dae1-498e-b301-cac4adef97c9"
      }
   ],
   "p99_waittime_30_days":13.7,
   "avg_waittime_30_days":15.2
}
  • Sample Type Information:
    type EvictionsSnapshot(required:EvictionsReporting.required_info) =
  • Note: you can make all string information "optional" by passing blank strings, except the ids which are always required. You can makes the lists optional by passing an empty list (converted to a JavaScript Array).
  • All integers are 64bit in code, but needs to be updated for float only.

Tech Stack

This project uses SAFE Stack. It was created using the dotnet SAFE Template. If you want to learn more about the template why not start with the quick start guide?

Install pre-requisites

You'll need to install the following pre-requisites in order to build SAFE applications

Starting the application

Before you run the project for the first time only you must install dotnet "local tools" with this command:

dotnet tool restore

To concurrently run the server and the client components in watch mode use the following command:

dotnet fake build -t run

Then open http://localhost:8080 in your browser.

To run concurrently server and client tests in watch mode (run in a new terminal):

dotnet fake build -t runtests

Client tests are available under http://localhost:8081 in your browser and server tests are running in watch mode in console.

SAFE Stack Documentation

If you want to know more about the full Azure Stack and all of it's components (including Azure) visit the official SAFE documentation.

You will find more documentation about the used F# components at the following places:

About

Prototype for Emergency Rental Assistance Reporting - API & WYSWIG

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published