A simple boilerplate project (tasks app) that follows best practices:
- Project structure
- Containerization
- Error Handling
- Testing (unit & integration) (e2e tbd)
- Code linting/prettier
- Input Validations
- API designs
The parts can also be used in isolation!
The server however is dependant on the db, if you want only one folder, you can very well also move the db folder into the server folder
docker
&docker-compose
(see cheatsheet > install)node
&git
&yarn
yarn start:dev
will run all individual parts in dev mode locally and watch them for reloads on file changeyarn start
will build all containers and run them all with docker-compose (I recommend using Kubernetes in production)yarn build
will just build all docker containers
All parts are containerized using docker, see yarn docker:*
for the different commands. If you just want to quickly build and run, yarn docker:dev
is your friend. It will build the image, create a common network and run the container sync. You can run it in detached mode using docker:detach
.
To build all and run all containers you can run yarn start:init
on the root of this repository.
On main branch we currently have a web-client
, a server
and a db
for database.
- MongoDB
- Node
- Mongoose (for MongoDB)
- Typescript
- REST API
- React+Next (via create-next-app)
- Testing with Jest
- Typescript
Using postgres as database and sequelize as orm
Includes a chat-app build on socket connection