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).
This application is built as an example for the Oso library. Oso library is now deprecated. If you are looking for an example of using Oso Cloud, check out GitCloud.
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
- Express/TypeORM Backend
$ cd frontend
$ yarn
$ yarn start
- TypeScript / React
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