Skip to content

HSL API UI Info and Initial Project Plan

Mike Wolfson edited this page Jan 5, 2023 · 2 revisions

API

Rails based project is currently in use, but not pragmatic to update it.

  • Does a list of features exist from this project?

Node based API - 100% complete minus the doors.

  • Feature parity exists (as far as we know)
  • API exists with tests and swagger docs
    • Returns JSON
  • Separation of logic to the routes. Could be switched out if necessary
  • CRUD operations
  • Node, Postgress and JS based
    • Using existing DB schema, with no intention to change this
    • Some views
  • Tests exist and test coverage is reporting
  • This project was bit-rotted and we tried to update the dependencies
    • Dependencies have been mostly updated, but there might still be more work to do
    • All the pages did work correctly after this update
  • Missing payment information in current API
    • Need to ingest payment info from Stripe (or Paypal)
    • Need to automatically disable anyone who is not paid up
    • Sync RED ACCX door module with this database
      • New ACAX board doesn’t have internet connectivity, which will require some work to get this working (add a Raspi to this board, and communicate via GPIO or something).
    • Need an abstraction to support both Stripe and Paypal to allow us to ingest information about up to date payment info
    • Automatically closing someones access based on them not being paid will need to be optional (Since HSL doesn’t change membership based on payment)
  • Add job system to project
  • Biggest blockers to deploy this API
    • Integration with door system
    • UI needed before we can replace the existing system
      • Supported: signup, list of events, list of certifications, list cards, change certification details, change event details
      • Not supported: profile info, need more update and creation requests

UI

Existing UI is rails based generating server side rendering, but is very out of date.

We can read and list, but we can’t update or delete.

Members UI project - it is a react front-end for the new members API

Priorities: user sign up, login, payment, profile, list certifications, events
Missing: link certification with user, deleting

Need to get new UI running, so we can compare the functionality to the existing members app

CI/CD

There might be an update needed to get Postgress working on CI - must support HTTPS now, which might require updates

If coverage level is reduced as part of a PR, then the build will be failed.

We should use GHA for this

ON prem vs in cloud

Current plan is to keep our functionality on prem, with the eventual plan to move it to cloud

Features desired:

  • Red tag system
  • Inventory system (tool share)

Action Items:

  • Need to get the ACCX firmware working locally at HSL on our own hardware. (Luis)
  • Spin up existing API and UI projects on Heroku (Will)
  • Figure out issues with tests no working based on fixture issue (Dustin)
  • Catalog feature set (what exists and what is missing) in new UI (Mike)
Clone this wiki locally