For the whole project you need:
.
└── packages
├── api
│ └── src
│ ├── controllers
│ ├── models
│ └── routes
└── web
├── public
└── src
Essentially the API package is the backend of the website which uses ExpressJS
and MongoDB
and is written in Typescript.
The Web package includes the frontend of the website which utilizes ReactJS
and is also written in Typescript.
To install all dependencies, simply run yarn
in the root directory of the project.
For the API package, you need to have a .env
file containing the needed environmental variables for the backend to work. (Needs to be located in packages/api/src
)
NOTE: These are package specific commands, so for example, cd
into the packages/api
directory to run the API specific commands.
For linting or autimatically formatting your code according to the style guide, you can use yarn lint
and yarn format
respectively.
To run a dev environment, you can use yarn start:dev
.
Same as the API, yarn lint
and yarn lint --fix
are available. You also have access to yarn start
and yarn test
which should be pretty self-explanatory.
For convenience, you should get the following extensions.
- ESLint (
dbaeumer.vscode-eslint
) - EditorConfig for VS Code (
editorconfig.editorconfig
) - Prettier ESLint (
rvest.vs-code-prettier-eslint
)
You can also get some packages for ES6 snippets or anything else you need.