Full stack solo project developed as part of Codework's Software Engineering bootcamp.
Packages | Description |
---|---|
packages/server |
Graphql Server |
packages/web |
Nextjs Web Client |
Script | Description |
---|---|
yarn infra:up |
Start Docker container |
yarn infra:down |
Shut down Docker container |
yarn dev:server |
Start server |
yarn dev:web |
Start web client |
yarn dev:codegen |
Run graphql code generator |
- To run this project you need to have
node
,yarn
anddocker
installed. - Images are uploaded to AWS S3 so you will need to create an account if you don't already have one
and add the access keys to
packages/server/.env
. - For payments you will need a Stripe development account and add the public key to
packages/web/.env.local
and the private key topackages/server/.env
. - Refer to the
.env.*.example
in the server and web packages to see what env variables are needed to start the application correctly. - The MailService requires a valid SMTP configuration to work and may prevent the server from booting if missing. You can use Mailtrap or Ethereal mail credentials during development.
To get up and running follow these steps
- Install the dependencies by running
yarn
in the root of the project. - Start the docker container with
yarn infra:up
- Start the server with
yarn dev:server
- Start the web client with
yarn dev:web
After modifying the graphql schemas in the server or writing new graphql
queries/mutations/subscriptions in the web client, run yarn codegen
to sync the schemas and
generate new frontend code.
Be careful to be in the right package folder when installing dependencies. Although dependencies in this monorepo are stored on the top level node_modules, they must be installed in their corresponding package.json.
Use yarn commit
or git cz
if you have commitizen
installed globally to check for linting
errors before commiting and standardizing your commit messages.