Giter VIP home page Giter VIP logo

ejscreen-demo's People

Contributors

widal001 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

ejscreen-demo's Issues

Dash app setup

Summary

Setup the basic architecture for the dash app and create a simple /mapper page which loads the dashboard

Expected behavior

  • There is a homepage / which uses the jumbotron template to link to the following information:
    • Mapper tool (dash app)
    • Original EJScreen tool
    • GitHub Repo
    • API Docs (swagger UI)

Local db setup

Summary

Set up database migrations using flask_migrate and add a setup.py that creates and populates a local Postgres db

Expected Behavior

  • The file setup.py has a function create_local_db() which:
    • Initiates a local Postgres connection
    • Drops the database at that connection if it exists
    • Creates a new Postgres database at that connection
    • Adds the PostGIS extension
    • Creates all of the tables
    • Populates the upgraded db with test data
  • When run.py is executed it attempts to connect to the local Postgres database and if one isn't found it calls create_loacl_db()

Create an regions endpoint

Summary

Create an endpoint POST api/regions/ which allows users to query a set of indicators for one or more census block regions

Expected Behavior

  • The endpoint GET api/regions:
  • The endpoint returns the following responses:
    • 200 Success, with following response body:
      {'type': 'Feature',
       'properties': {'fips_code': '0500000US01001',
                              'state': 'MD'},
        'geometry': {
            'type': 'Polygon',
            'coordinates': [[[-86.496774, 32.344437],
              [-86.717897, 32.402814],
              [-86.814912, 32.340803],
              [-86.890581, 32.502974],
              [-86.917595, 32.664169],
              [-86.71339, 32.661732],
              [-86.714219, 32.705694],
              [-86.413116, 32.707386],
              [-86.411172, 32.409937],
              [-86.496774, 32.344437]]]},
       'id': '01001'}
      

Dockerize the application

Summary

Create a docker image of the application that would make it easier to clone and start up the app locally

Expected Behavior

  • The dockerized app should be a multi-container app with the following components:
    • App container - To run and interact with the app manually
    • Database container - To host the database that will serve the app
    • Testing container - To run the unit tests for the app
  • The README.md should explain how to run the containers after cloning the project

Create the Indicators table and endpoint

Summary

Create a table to store the indicator values

Expected Behavior

  • There is a table indicators with the following columns:
    • id Unique identifier for an indicator
    • category Text representing the category the indicator belongs to (e.g. demographic, environmental, etc.)
    • source Text representing the data source for this indicator
    • source_name Text representing the name of this indicator in the original datasource
    • display_name Text representing the human readable name for this indicator to display in reports
    • description Text of the description of the indicator
  • There is an endpoint api/indicators/ which returns the following response
    {
         "status": "success", 
         "data": [
             "id": 1,
             "category": "Demographic",
             "source": "EJScreen",
             "source_name": "ACSTOTPOP",
             "display_name": "Total Population",
             "description": "The total population of the census block"
        ]
    }
    

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.