Skip to content

mauriciabad/begursecret

This branch is 2 commits ahead of main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

66b958e · Aug 14, 2024
Apr 7, 2024
Jan 30, 2024
Apr 7, 2024
Feb 27, 2024
Apr 7, 2024
Jun 9, 2024
Apr 7, 2024
Feb 15, 2024
Nov 2, 2023
Oct 14, 2023
Oct 17, 2023
Feb 29, 2024
Oct 17, 2023
Apr 7, 2024
Apr 7, 2024
Oct 18, 2023
Feb 5, 2024
Feb 10, 2024
Aug 14, 2024
Oct 26, 2023
Aug 14, 2024
Oct 13, 2023
Oct 31, 2023
Feb 21, 2024
Feb 6, 2024

Repository files navigation

Begur Secret App

Discover incredible places and explore Begur like never before.

https://begursecret.com

Development

Setup

  1. Install Node.js and pnpm

    # Install Node.js first
    npm i -g pnpm
  2. Create the file .env.local.

    • Copy the .env.example file and update the variables.
    • Or ask @mauriciabad for the file.
  3. Install the project's dependencies:

    pnpm i
  4. Run development server:

    pnpm dev
  5. Open http://localhost:3000 with your browser.

Using local database

Caution

This guide is outdated! The migration to Neon was very fast and I didn't have time to standarize the procedure.

By default, the app will connect to stage database in Neon, but you can run it locally too.

  1. Install docker.

  2. Run the database in another console:

    pnpm db:local:run-db
  3. (Optional) Generate migrations if necessary:

    pnpm db:generate
  4. Run database migrations:

    pnpm db:local:migrate
  5. Run the app:

    pnpm db:local:run-app
  6. (Optional) Visualize the data with Drizzle Studio in another console:

    pnpm db:local:studio

Contributing

How to deploy changes in the database

Caution

This guide is outdated! The migration to Neon was very fast and I didn't have time to standarize the procedure.

  1. Make the changes in your code, testing them with the local database.
  2. Run pnpm db:generate to generate the migrations.
  3. Run pnpm db:push to upload the migrations to PlanetScale stage branch.
    • Only 1 branch can be pushed to PlanetScale at a time, if there were contents from another change they will be overridden. This is because we use the PlanetScale free tier.
  4. Run the GitHub's CI after the stage database is updated, by pushing a commit or running it manually.
    • GitHub's CI is configured to run on stage database, so it will catch any error.
  5. Right before merging the PR, go to PlanetScale dashboard and create a deploy preview and deploy it.
  6. Merge the PR in GitHub.
New procedure random thoughts
  1. Run pnpm db:generate, to generate the new sql file.
  2. DON'T run pnpm db:push, because it won't work. Instead, go to the Neon website, and in a SQL console paste the generated SQL.

Besides that. These are the manual changes I did to the migration files:

  1. Add CREATE EXTENSION IF NOT EXISTS postgis; to the top
  2. Remove the double quotes (") from Geometry(Point, 25831) and Geometry(MultiLineString, 25831).

Something else:

The script db:local:run-db is not done, it is commented out.

Access to other services

Ask @mauriciabad for access.

These are the services we use related to the code: