A medical logistics app that assists family doctos manage their practices
├── api-gateway: API gateway src
├── ci-pipeline: Jenkins pipeline (can be deployed locally, will require configuration)
│ ├── ci-pipeline-data: Jenkins container data
│ └── jenkins: Jenkins docker deployment src
├── frontend: React frontend src
└── services: All app microservices (all follow same structure)
├── app: Microservice src
│ ├── __tests__: All service tests
│ │ ├── e2e: E2E tests
│ │ ├── integration: Integration tests
│ │ └── unit: Unit tests
│ └── src: Microservice app src
├── bookings
├── medical-conditions
└── patient-record
- Run
./setup-dev-environment.sh
to install development environment prerequisites
cd
into microservice directory- Run
npm i
in service directory to install all dependencies - Run
npm start:dev
to start microservice in development mode
Usage: npm run <task_name>
- start - Runs the microservice in PRODUCTION mode
- start:dev - Runs microservice in DEVELOPMENT mode (including autorefreshing on code change)
- test:all - Runs all microservices tests (i.e. integration, unit, e2e)
- test:unit - Runs all microservice unit tests
- eslint - Checks code for consistent styling, documentation, and security holes
- eslint:fix - Attempts to fix code styling, documentation, and security. Commonly requires developer intervention
- Build the service image →
docker build -t <SERVICE_NAME>-web .
- Start service defined in docker-compose.yml file →
docker-compose up
→ - Viewing the DB in the postgres container →
psql -h <DB_HOST> -p <DB_PORT | 5432> -U <DB_USERNAME> -d <DB_NAME>