How to Use it?
- Unzip the folder
- Rename the unzipped folder from bedrock-x.y.z to your product's name
- Open the directory on your terminal and initialize git:
cd git init
After that, you're ready to get started!
Initial setup
You'll need certain environment variables to run Bedrock's functionality in local development. The first step is to:
- Sign up for, used for payments
- Sign up for, used for sending emails
Then, copy
.env.example
to
.env
and fill out the .env file with your environment variables!
cp
.env.example
.env
Note: do not delete the .env.example file, as it's used by some code generation processes and is useful for potential future team members as a reference.
Now you're ready to set everything up locally:
- Install Docker by following their ... Bedrock uses Docker to start the local development database.
- Then, install the dependencies with yarn:
yarn
- Start the local development database as well as the Stripe CLI webhook listener (to make payments work) with
docker-compose:
docker-compose up
- Copy the webhook secret that the Stripe CLI logged, something like “> Ready! Your webhook signing secret is whsec _ *** ”. Copy that secret and add it to your .env file.
- Migrate your local development database to the base schema:
yarn prisma: migrate
Development workflow
To develop your app, you always need to have two commands running concurrently:
- Start the development database with:
docker-compose up
- Start the development process , which also runs all the necessary code generators:
yarn dev
That's it! Now you should have Bedrock running locally and should be able to visit
Scripts
The
three most important commands you'll run frequently during development:
- yarn generate: Generates the Prisma client (), which Nexus uses and generates the GraphQL schema ( ), which GraphQL Codegen uses and generates the urql hooks ( ). Run this whenever you change the database schema, GraphQL schema or GraphQL queries.
- yarn prisma:migrate: Creates migration files from your Prisma schema changes and runs those migrations on your local dev db ( ). Run this whenever you change your database schema.
- yarn prisma:studio: Startson localhost:5555 where you can inspect your local development database.
- yarn
cypress:open:
Opens Cypress so you can write and run your end-to-end tests. ( )
All the others are used in CI or by those three main scripts, but you should only rarely need to run them manually.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------