This is the monorepo for Soonlist. Find the web app at soonlist.com.
In order to develop for project, you'll need a Mac with the following installed:
- Xcode Command Line Tools
- Node and a Node version manager like nvm or fnm
- pnpm
git clone https://github.com/jaronheard/soonlist-turbo.git
cd soonlist-turbo
pnpm install
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 is used for exposing your local development server for developing the mobile app. Follow these steps:
-
Sign up for a free account at ngrok.com.
-
Install the ngrok CLI globally:
npm install -g ngrok
-
Authenticate your ngrok CLI:
ngrok authtoken YOUR_NGROK_AUTH_TOKEN
-
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
).
-
Add your personal ngrok script to the package.json file:
+ "ngrok-YOURNAME": "ngrok tunnel --label edge=edghts_XXXXXXXXXXXXXXXXX http://localhost:3000",
-
Run the ngrok tunnel:
pnpm ngrok-YOURNAME
Note: Each developer will need to create their own ngrok endpoint for mobile app development.
pnpm dev
Simultaneously in another terminal, for webhooks and mobile app development:
pnpm ngrok-YOURNAME
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.
You may need:
And there may be a few more steps here if you want to run this on a device
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. 😊