This is an example application based on GitHub that's meant to model GitHub's
permissions system. The app is implemented in a number of backend languages,
which all expose a common API that is consumed by a React frontend (in the
frontend/
folder).
For more information, check out one of the backend implementations linked below.
- Flask SQLAlchemy Backend
- Flask SQLAlchemy Backend (with sqlalchemy-oso integration library)
- Rails Backend
$ cd frontend
$ yarn
$ yarn start
- TypeScript / React / Reach Router
The backends all run on port 5000, and use cookies to manage sessions.
If you want to be able to debug/test the backend without running the frontend and logging in, you can use the following to save a session locally:
curl -c gitclub.cookies -H "Content-Type: application/json" -X POST -d '{"email": "john@beatles.com"}' localhost:5000/session
curl -b gitclub.cookies localhost:5000/orgs/1