Queering the Map is a community-based platform where individuals anonymously pin their queer experiences and stories to specific locations on a global map.
You have two options for setting up the project: a quick setup for frontend-only work or a full setup with Supabase.
This approach is quicker and allows you to work on the frontend without setting up Supabase. Note that popups will not show text if you choose this option.
npm ci.npm run seed-data..env.example into .env: cp .env.example .env.This approach is necessary if you want to work also work on the backend. It takes longer to set up but provides a complete development environment, aligned with what we use in production.
npm install..env.example file to .env (manually or with cp .env.example .env).SUPABASE_URL and SUPABASE_ANON_KEY from the output of supabase start.supabase db reset.npm run fetch-data.To start a development server:
npm run dev
For testing the database make sure that the pgTap extension is enabled in postgres (more info). Afterwards, you can run: supabase test db.
To use Supabase as a remote backend make sure to link your local development with your remote Supabase project:
supabase loginsupabase link --project-ref <project-ref> (more info)supabase db push (more info)SUPABASE_URL and SUPABASE_ANON_KEY do point to the correct production project and not the local containers. You can grab them from inside your Supabase project's dashboard.To create a production version of the app:
npm run build
For Captcha protection of the point submissions, we use Cloudflare Turnstile. Once you create a widget there, populate the correct values for the env variables:
PUBLIC_CLOUDFLARE_TURNSTILE_SITE_KEY
CLOUDFLARE_TURNSTILE_SECRET
For more info, see this guide: https://developers.cloudflare.com/turnstile/get-started/.