Domain-driven design (DDD) structure and atomic design structure Skeleton.
These instructions will get you a copy of the project up and running on your local machine.
- Run docker compose ➡
docker-compose up --build -d
- Fill
.postgres
file configurations - docker migrate database (Remove data if exist) ➡
docker exec -it skeleton_backend npm run docker:database:reset
- Install node dependencies ➡
npm install
- Create a new database on PostgreSQL
- Create
.env
file with your configurations using./docs/.env.example
- Database migration ➡
npm run database:init
- Development run ➡
npm run dev
|| Production run ➡npm run start
npm run start
➡ Production runtime environment.npm run dev
➡ Development runtime environment. (Listening on src for changes) {nodemon
must be installed globally}npm run docker
➡ Docker runtime environment.npm run docker:database:reset
➡ Docker runtime environment database migration. (Remove the existing data)npm run lint
➡ Run linter. (Checking for mistakes)npm run database:init
➡ Initialize database. (Create tables and seed database)npm run database:reset
➡ Initialize/Reset database. (Remove the existing data) {DO NOT USE}npm run database:delete
➡ Delete all the existing data. {DO NOT USE}npm run test
➡ Run test cases.
- Node.js (Runtime Environment)
- PostgreSQL (Relational Database)
- Redis (Cache)
- ReactJS (Frontend)
- Postman (collection and environment) are provided in ./docs/Postman folder.
- Swagger (yaml file) is provided in ./docs/Swagger folder.
For more projects check my github account https://github.com/OmarElsahragty
or check my portfolio website https://sahragty.herokuapp.com/