yarn
Create .env
file in the root folder:
DB_CONN_STRING="mongodb://admin:admin@localhost:27017"
DB_NAME="todo"
Start local mongodb using docker-compose
docker-compose up -d
Watch changes on both backend and frontend:
- Server:
- https://localhost:4000
- /graphql - GraphQL endpoint
- /playground - GraphQL Playground
- https://localhost:4000
- Frontend:
yarn start:dev
Start local mongodb for tests:
./scripts/test-up.sh
Run server or frontend tests:
yarn test:api
yarn test:app
In order to stop local mongodb, run:
./scripts/test-down.sh
Starting:
docker build -t todo .
./scripts/local-up.sh
Stopping:
./scripts/local-down.sh
View source
- it should be a GraphQL Server using Node.js + TypeScript
- it should connect to a database (MongoDB or PostgreSQL)
- it should support GraphQL Queries
- it should support GraphQL Mutations
- it should be a React Web App with Relay
- it should support GraphQL Queries with Relay
- it should support GraphQL Mutations with Relay
- open-sourced on your GitHub
- backend automated tests: Jest
- frontend automated tests: react-testing-library
- good design (bonus if using a design system, like antd)
- authentication system
- Storybook
- GraphQL Playground
- deploy (Vercel? Netlify? Heroku? AWS?)
- CI/CD (GitHub Actions, CircleCI etc)
- ask for help and for code review during the development