Minotaur is a hosted application which allows users to prove they own digital accounts. It is designed as a partner application for Cartographer.
Start by installing dependencies:
yarn install
Then start the development server:
yarn redwood dev
For more information about setup see the RedwoodJS Readme.
Minotaur uses Clerk to allow a user to prove they own the digital accounts they claim to. Users can create teams and invite other users to share assertions with their team. Each user has an API key which allows them to pull data from teams they own into Cartographer.
When a user logs in they follow the Clerk login flow. After logging in with their first method they can add additional login methods to assert ownership of additional accounts. Currently validation of github and email accounts is supported.
We store the information we learn about users in a Postgres database. This database contains three tables...
-
Users - Every Clerk user is stored as a user in our database. The purpose of this user is to link teams and assertions to a single user. We also store an API key for the user in this table.
-
Assertions - An assertion refers to an account the user has proven with Clerk. One user may have multiple assertions representing various email and github accounts. In the future support for other services is planned. Assertions are linked to a single user and also have references to one or more teams.
-
Teams - Users can selectively share assertions with teams by visiting that teams URL and selecting which assertions they would like to share with that team.
Minotaur is built using the following tools and services.
- Redwood JS - A fullstack javascript framework
- Clerk - Authentication and user management
- Tailwind - A utility-first CSS framework
- Railway - Postgres database hosting
- Vercel - Static web host and serverless functionss
This version of Minotaur is considered to be an MVP. Assertions can be shared with individual teams and will be stored in the Database but API access has not been enabled yet. Currently we do not have a plan for how API access will be enabled, it's possible this could be enabled via Redwood but a second option would be to write a node application with access to the database.
The current app is hosted on Vercel and can be used to demo functionality. We also have a Clerk Integration in Cartographer which can be used to get all user assertions into Cartographer.