- Clone the repo
- Update
node
version to 18 - Install dependencies with
yarn
- Install additional dependencies by running
pip3 install -r requirements.txt
- Create a Supabase account if you don't have one already
- Create a new project in Supabase
- Generate a Supabase access token
- Copy
.env.local.example
and rename to.env.local
- Add your access tokens/keys to
.env.local
- Install Supabase CLI with
brew install supabase/tap/supabase
- Run
supabase init
- project should already be initialised - Run
supabase login
and paste the access token in - Link Supabase to your project using
yarn supabase link --project-ref <project-ref>
. You can get your project ref from the Supabase Project dashboard (Project Settings -> API) - Duplicate
.env.local.example
and rename it to.env.local
and add the relevant environment variables from Dashlane. - Push the database schema to your Supabase project using
yarn supabase db push
. - Generate types for your Supabase tables using
yarn generate:types:local
. - Run
yarn dev
to start the development server.
For other users to see new db changes:
- Pull migrations from git, then run
yarn supabase db push
To make a change to db:
- In terminal, run
yarn supabase migration new <migration name>
- Edit migration file
<123456_migration_name>.sql
to create table, add row etc. - Terminal:
yarn supabase db push
- Observe changes on app.supabase.com
- Push new migration files to git
Some of the Python files have type hints (strong typing). Running these files with python3 preproces.py
for example will not enforce the type hints. If you would like to check the types are being enforced, do the following:
- Check you have mypy installed by running
mypy --version
- Run your desired Python file with
mypy <filename.py>
- Unit test using
yarn test
- End-to-end test using
yarn test:e2e
This is a simple Next.js project. Deployment is the same as any other Next.js project. You can deploy it to Vercel, Netlify, or any other hosting provider.
Checkout the TROUBLESHOOTING.md file for common issues.