apollo-todo
is a hobby side project made to experiment with different tech that I'm interested in. The stack for this project is:
Some additional tech that I'm incoporating includes:
My chosen JS runtime for this project is Bun.
This project was created as a way for me to accomplish two goals:
- To experiment with tech that I've taken an interest in.
- To better understand and learn:
- How to setup an Apollo-graphQL based project
- How to properly interact with the cache and manage state changes within it
- Install dependencies via:
bun i
- Run
docker-compose up
. This docker-compose will create two containers: i. The postgresql database ii. PgAdmin, which will allow you to connect and manipulate data via the pgadmin GUI. - Update the
DATABASE_URL
in your.env.local
file - Once your containers are running, and your secret is updated, execute
bun prisma db push
- Sign-up for Clerk Auth, and obtain the necessary secret keys. Place them in a
.env.local
file located at the root of the project. - Execute
bun dev
, and everything should be working 🎉.
One additional command that is important is bun codegen
. This will run the codegen CLI script against the schema & documents that exist within this project, and generate the necessary type files. Additionally, if you only need to generate one set of types, that can be achieved via bun codegen:client
or bun codegen:server
I've also configured my own commit convention via Commitizen w/ the cz-emoji-conventional adapter. Running bun commit
will use the commitizen configuration specified in the package.json.