- apollo-server
- mongodb
- mongoose
- vite
- apollo-client
- tailwind
- react
- material-ui
- formik
- Docker (or Mongodb installed on local machine)
- Node (ideally v16+)
- NPM v7
If you don't have Mongodb installed locally you'll need to run the docker-compose config from the root directory:
docker-compose up -d
That will create a mongo (and mongo-express for development) instance for the app to connect to.
Next install the npm dependencies from the root directory:
npm install
There are two ways to start the application. Note: ports 3000 and 4000 will need to be available
npm run dev
npm start
- commitizen
- husky
- types could be stronger
- caching
- probably a better schema!
- better error handling/data validation
- eslint-plugin-graphql
- error logging
- debugging
- ...lots more
- debounce loading indicators
- improve styling by moving tailwind class names into reusable classes
- error logging
- debugging
- optimisation/lazy loading/code splitting etc.
- client app tests