NOTE: Typescript version on typescript
branch!
Run this commands in sequence:
npm install
docker-compose -f docker/docker-compose.yaml up -d
<= To get Postgres up- Wait a few seconds until docker has finished bringing up both services
npm run db:migrate
npm run db:seed
<= Only the fist time, to create dummy datanpm run start
Run npm run test
to test the application
Coverage automatically created when running npm run test
and can be seen on detail opening coverage/lcov-report/index.html
in the browser.
Through Docker, this service connects to a Postgres database. We use Postgres to keep the relations between models.
- users can report an issue.
POST: /issues/create
- New issues should be automatically assigned to a free support agent.
- Support agents can only handle one issue at a time. (New issues will remain OPEN until an agent becomes free)
- Support agents resolve issues: once done the issue is marked as resolved and the support agent becomes available to take a new issue.
- The system should be able to assign unassigned issues automatically when a support agent becomes available.
.env
files pushed on purpose to ease start of the application. Either way they are not exposing any sensitive data.
- Typescript
- Integration tests
- Proper error handling