Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fasten as SPA #7

Merged
merged 38 commits into from
Oct 13, 2022
Merged

Fasten as SPA #7

merged 38 commits into from
Oct 13, 2022

Conversation

AnalogJ
Copy link
Member

@AnalogJ AnalogJ commented Oct 13, 2022

Fasten has been rewritten/rearchitected to be a SPA.

  • Fasten license changed to GPLv3
  • Fasten is now designed to eventually support zero-knowledge encryption - all healthcare provider access is done on the client side, where data will (eventually) be encrypted with a user provided key BEFORE sending to backend/database.
  • Golang backend has been gutted, only webserver, CORS relay and couchDB shim remain.
  • Migrated from SQLite to CouchDB as internal datastore
  • Code to communicate with healthcare providers has been moved into a Typescript library.
  • All processing of data from healthcare providers is done via web-workers - keeping the UI snappy.
  • OAuth flow now leverages url fragments allowing healthcare providers to pass back transient authorization codes without hitting a Fasten server.

WIP/Broken

  • manual uploads of FHIR bundles are not supported (functionality was removed during refactor -- will be re-added)
  • refresh tokens (eventually used for background sync) may not be working consistently -- you may need to reconnect
  • Still no encryption at rest.

Migrating DB layer in Go to typescript lib.
adding base client to conduit lib.
adding tests
renaming all Pouchdb record references to "Document".
Adding tests for BaseClient
Adding Fhir401Client
Adding fixtures for BaseClient and Fhir401Client
Adding documentation.
documetnation for ligthouse.service
fixed pouchdb plugins:
- upsert, find & crypto added (only find tested)
- added index
- using find for retrieving patients.
reorganizing package.json to move types into dev
updating tsconfig files.
TODO: fix "disabled" tsconfig entries .
…endpoints now.

Adding docker image for couchdb and addign docker-compose file.
Update the User object to be just username and password.
- very few plugins work in the Web-worker context
- authentication working
- SYNC not working
- UPSERT not working
- CORS issues AETNA
- REFRESH TOKEN ISSUES
disabled in GetDB() function.
working dockerfile and dockercompose file
added s6-overlay to base image, built ontop of couchdb now.
Bootstrapping of couchdb now creates _users and other system databases.
when running just CouchDB, make sure fasten services are not present.
added auth interceptor when session has expired.
fixed couchdb sync.
Refresh token is broken again.
- configurable autohide
- success style
- notifications on sync ocomplete.
fixed Username field in login page.
added support for CORS relay
fixed spec files.
fixing time on toasts.
…s have been refreshed)

refresh tokens are still broken/inconsistently refreshed.
@AnalogJ AnalogJ merged commit 77c23e6 into main Oct 13, 2022
@AnalogJ AnalogJ deleted the spa branch October 13, 2022 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant