NOTE: Typescript version on typescript branch!
Run this commands in sequence:
npm installdocker-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:migratenpm 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