Mobile and WEB apps made for Highliners
.
├── expo # Mobile app, most of the development is going her
├── next # Web app where all started
├── supabase # Local supabase instance
├── packages # Shared packages between projectsFor informations on how to run each project check their respectives README.md
These instructions cover the setup for the Supabase backend. After setting up Supabase, follow the instructions to setup the clients
- 📱 expo in the
expo/README.md - 🌐 NextJS in the
next/README.md
First of all, install the CLI
- Supabase CLI (
npm install -g supabase)
Supabase serves as the project's backend, handling database and authentication.
- Create a Supabase Project:
- You can either run Supabase locally with
npx supabase initor create a cloud project at supabase.com/dashboard/new/new-project. - This guide focuses on cloud setup.
- You can either run Supabase locally with
-
Link to Your Project:
-
Use the following command, replacing
<project-id>with your project's ID (found in the dashboard URL):npx supabase link --project-ref <project-id>
-
-
Push Migrations:
-
Apply database migrations from
supabase/migrationsto your remote database:npx supabase db push
-
Some Edge Functions (like create-abacate-pay-charge) require specific configurations (e.g., --no-verify-jwt) that are critical for their operation. To ensure all functions are deployed correctly with their required flags, always use the provided deployment script instead of running supabase functions deploy manually.
- Deploy all functions:
npm run deploy:functions
Some migrations schedule cron jobs that require secrets to run. You need to set them up in the Supabase Vault. You can do this by settling it up trough the dashboard or by running the following commands in the Supabase SQL Editor.
Replace the placeholder values with your actual project reference and service role key.
-- Run this in your Supabase SQL Editor:
select vault.create_secret('https://<your-project-ref>.supabase.co', 'project_url', 'URL for the Supabase project');
select vault.create_secret('<your-secret-key>', 'secret_key', 'Supabase Secret key');- Configure URL Redirects:
- In the Supabase dashboard (Auth > URL Configuration), add a Site URL matching your app's scheme (defined in
app.config.ts). - Example:
com.bodok.chooselife://*
- In the Supabase dashboard (Auth > URL Configuration), add a Site URL matching your app's scheme (defined in
- Enable Social Auth:
- Enable Google and Apple social login in the Supabase dashboard.
- Follow these guides:
- Use Auth locally
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes.
- Push to your branch.
- Open a pull request.