Skip to content

jaronheard/soonlist-turbo

Repository files navigation

soonlist-turbo

This is the monorepo for Soonlist. Find the web app at soonlist.com.

Setup

In order to develop for project, you'll need a Mac with the following installed:

Clone the repo

git clone https://github.com/jaronheard/soonlist-turbo.git
cd soonlist-turbo

Install dependencies

pnpm install

Setup environment variables

You'll need to create a .env.local file in the root of the project and an .env.production file in the root of the project. Contact @jaronheard for the values for these files.

Ngrok Setup

Ngrok is used for exposing your local development server for developing the mobile app. Follow these steps:

  1. Sign up for a free account at ngrok.com.

  2. Install the ngrok CLI globally:

    npm install -g ngrok
  3. Authenticate your ngrok CLI:

    ngrok authtoken YOUR_NGROK_AUTH_TOKEN
  4. Create a new ngrok edge:

    • Go to the ngrok dashboard.
    • Navigate to "Cloud Edge" > "Edges" and click "New Edge".
    • Configure the edge with the appropriate settings for this project. Contact @jaronheard for this.
    • IMPORTANT: you'll need to create new webooks for each service and add the signing secret for each one. Contact @jaronheard for this.
    • Note the edge ID (it should look like edghts_XXXXXXXXXXXXXXXXX).
  5. Add your personal ngrok script to the package.json file:

    + "ngrok-YOURNAME": "ngrok tunnel --label edge=edghts_XXXXXXXXXXXXXXXXX http://localhost:3000",
  6. Run the ngrok tunnel:

    pnpm ngrok-YOURNAME

Note: Each developer will need to create their own ngrok endpoint for mobile app development.

Run the project

pnpm dev

Simultaneously in another terminal, for webhooks and mobile app development:

pnpm ngrok-YOURNAME

Notes

Inspecting the database

To inspect the database, you can use the Drizzle Studio. Run the following command in the packages/db folder:

pnpm studio

This will start the Drizzle Studio, allowing you to interact with the database.

Expo specific instructions

You may need:

And there may be a few more steps here if you want to run this on a device

More information needed

Please note that this README is a work in progress, and there's still a lot of information missing. Future updates will include more detailed instructions on various aspects of the project. 😊

Releases

No releases published

Packages

No packages published