React Apollo GraphQL [from scratch]
Today you have basically two ways how to start new React application: NextJs or Create React App.
However, there is no fun in using other peoples frameworks so I created this application from scratch. If you ever wondered how to set up your own boilerplate. This is a good place to start.
Demo
You can try the application here (it might take a while before the free server wakes up)
Development
System Dependencies:
brew install node
brew install yarn
Run development server:
yarn install
yarn apollo:generate-types:watch
yarn watch
Useful Commands
yarn lint:ts
lint TS filesyarn lint:css
lint CSSyarn lint:circular-dependencies
detect circular dependenciesyarn apollo:generate-types
generate TS definitions from GraphQL schemayarn apollo:remove-all-types
remove all automatically generated TS definitionsyarn test
run jestdocker-compose up
run the application in Docker 🐳 container
TODO
- Optimize antd package with babel-plugin-import
- Create custom vendors config with DllPlugin
- Implement request password reset + request password change
- Implement automatic token refresh
Production
Keep in mind that main
and vendors
packages are huge. I plan to implement babel-plugin-import and DllPlugin in the future.
SERVER_URL=https://node-type-orm-graphql.herokuapp.com/graphql yarn build
yarn prod