Giter Site home page Giter Site logo

globalhack / api Goto Github PK

View Code? Open in Web Editor NEW
1.0 7.0 0.0 543 KB

API backing frontend and user-facing API endpoints

Home Page: https://www.cemaritan.com/

License: GNU Affero General Public License v3.0

JavaScript 72.91% CSS 0.29% HTML 26.29% Nginx 0.47% Shell 0.04%
coc hmis cemaritan

api's People

Contributors

dcalliet avatar jamesmarlowe avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

api's Issues

Lock volunteer dev contributors to the open source project out of the production database

To ensure data security only James and Drew should have root access to the Cemaritan production db. Volunteers should have access to a dev instance of the database that contains fake data.

Eventually, we'll want a staging instance of the database that contains a copy of the real production database. So James and Drew can test new releases with the real database before they get released to production. So long term we'll have

Dev --> Staging --> Prod

And volunteers will only have access to Dev (which will contain fake data).

Better API/DB piece

No one likes sails, and it's not solving our problems well enough, and its devs are leaving. On top of which, we have new things we need to do that it won't handle well like dumping diffs via xml/csv to Caseworthy. And trying to get our auth to do what we want means completely designing/implementing/testing the whole permissions system. All of that I could get past, except that now sails won't even start up. I previously said we were too far down the sails hole to find something else, but I now think I was wrong and it's not a good choice to stay. Now that we know what we need from an API/DB solution, we're in a better place to make an informed choice.

New thing considerations:

  • support and docs (maintained by a company not a guy)
  • authentication/ permissions (connect to our login flow and support complex rules)
  • database it connects to (postgresql/mongo/etc)
  • ease of access from javascript
  • export to csv/xml
  • documentation generation
  • testing
  • schema/view definition language
  • ES6 compatible
  • management interface
  • compatibility with HUD standard
  • SQL vs. NOSQL
  • loss/redoing of work
  • ease of use

Some possible options:

Write API Call that diffs the database view for a single account.

Input: account, timestamp
Return: every field that’s been updated in the db by that account since the inputed timestamp

eg. GET /updates/:timestamp with your auth token
response will be json including intakes that have been updated between the input timestamp and the current date

database details can be found at https://github.com/GHImplementationTeam/API/blob/master/config/connections.js#L92

swagger doc detailing current api calls can be found at https://github.com/GHImplementationTeam/API/blob/master/assets/js/dependencies/swagger.json

Create default Organization

New users not added through will be added to the default organization. It should be called "Trial" anytime it is mentioned publicly. All default org users should be set as admins so they can experience full functionality of the product. The default org should have sample data pre loaded so users can play around with it.

Here's a question. Shouldn't each new trial user get their own organization so they can't delete other trial users accounts? So shouldn't we have something like Trial_Org_1, Trial_Org_2, Trial_Org_N? With each trial org having it's own copy of the sample data?

Note, non-default org users (e.g. at real service providers) should not be able to see the default orgs so they can't actually share data in permissions or make referrals to default org users.

dev/prod auth0 parity

Need to get auth0 code into repo and keep them the same in benvenker (dev) and cemaritan (prod)

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.