fechy / issue-tracker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Issue Tracker

NOTE: Typescript version on typescript branch!

Start

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 data
  • npm run start

Tests

Run npm run test to test the application

Coverage

Coverage automatically created when running npm run test and can be seen on detail opening coverage/lcov-report/index.html in the browser.

Testing with Postman

Run in Postman

Database

Through Docker, this service connects to a Postgres database. We use Postgres to keep the relations between models.

TODO's:

  • 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.

Note

.env files pushed on purpose to ease start of the application. Either way they are not exposing any sensitive data.

What I would like to do if I had more time?

  • Typescript
  • Integration tests
  • Proper error handling

About


Languages

Language:JavaScript 99.5%Language:Shell 0.5%