Skip to content

DreamwareDevelopment/goaltime

Repository files navigation

GoalTime

Local Development

  1. Install Docker Desktop
  2. Get a copy of .env for the Next App and .env.local for Supabase and Prisma (they should always be in sync)
  3. Setup ngrok with the following config
version: "3"
agent:
    authtoken: <your-token>
tunnels:
  first:
    addr: 3000
    proto: http
    domain: <your-next-static-domain>
  second:
    addr: https://localhost:54321
    proto: http
    domain: <your-supabase-static-domain>
  • Set the site_url to your next ngrok url in config.toml
  • Set the additional_redirect_urls to ["https:///auth/callback"] in config.toml
  • Request that your next ngrok url be added to HCaptcha and Google OAuth
  • Set FUNCTIONS_URL secret in Supabase Vault to your supabase ngrok url
  • Setup NEXT_PUBLIC_HOST to your next ngrok url in both .env and .env.local
  1. Run ngrok start --all or npx nx@latest shared:local-proxy
  2. Run npx nx@latest shared:db to start the local supabase containers
  3. Run CREATE ROLE "service" WITH LOGIN PASSWORD '<password>'; in the supabase dashboard
  • Set the credentials for service in the MY_PRISMA_URL in both the .env .env.local files
  • You'll need to run npx nx@latest shared:db again for the changes to take effect
  1. Run npx nx@latest shared:init to initialize the database and apply schema migrations
  2. Run npx nx@latest shared:functions to start the supabase edge functions runtime
  3. Navigate to your next ngrok url in your browser to start using the app

On Prisma Migrations

If any migration fails to apply you can go to the project.json for the shared project go to npx nx@latest shared:rollback-failed-migration and edit the command with the name of the failed migration. Afterwords running npx nx@latest shared:migrate should work if the migration is successful.

✨ Your new, shiny Nx workspace is almost ready ✨.

Learn more about this workspace setup and its capabilities or run npx nx graph to visually explore what was created. Now, let's get you up to speed!

Finish your CI setup

Click here to finish setting up your workspace!

Run tasks

To run the dev server for your app, use:

npx nx dev goaltime

To create a production bundle:

npx nx build goaltime

To see all available targets to run for a project, run:

npx nx show project goaltime

These targets are either inferred automatically or defined in the project.json or package.json files.

More about running tasks in the docs »

Add new projects

While you could add new projects to your workspace manually, you might want to leverage Nx plugins and their code generation feature.

Use the plugin's generator to create new projects.

To generate a new application, use:

npx nx g @nx/next:app demo

To generate a new library, use:

npx nx g @nx/react:lib mylib

You can use npx nx list to get a list of installed plugins. Then, run npx nx list <plugin-name> to learn about more specific capabilities of a particular plugin. Alternatively, install Nx Console to browse plugins and generators in your IDE.

Learn more about Nx plugins » | Browse the plugin registry »

Learn more about Nx on CI

Install Nx Console

Nx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code, and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ.

Install Nx Console »

Useful links

Learn more:

And join the Nx community:

About

Social app for catching gossip passed around your friend group.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages