Follow these instructions to set up your environment.
Clone this repository and install its dependencies with:
npm ciThen, create a ./.env file containing:
HEXAGONAL_ARCHITECTURE_PORT=3000
HEXAGONAL_ARCHITECTURE_DB_HOSTNAME=localhost
HEXAGONAL_ARCHITECTURE_DB_USER=hexagonal_architecture_user
HEXAGONAL_ARCHITECTURE_DB_PASSWORD=hexagonal_architecture_password
HEXAGONAL_ARCHITECTURE_DB_NAME=hexagonal_architecture_dbFinally, execute database migrations:
npm run db-migrate:upTo execute end to end tests, create a ./.env.e2e file containing:
ADMIN_DB_HOSTNAME=localhost
ADMIN_DB_USER=postgres
ADMIN_DB_PASSWORD=postgres
ADMIN_DB_NAME=postgresThen run:
npm run test:e2eBuild project:
npm run buildLint files:
npm run lintStart application:
npm startExecute unit tests:
npm testThis application is strongly coupled: presentation, business logic and storage layers all live in the same file without any separation of concerns.
Your first mission is to extract a domain layer in ./domains/users-management using the principles of hexagonal architecture.