zsevic / task-issues

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

task-issues

Setup

  • Run the following commands
git clone https://github.com/zsevic/task-issues
cd task-issues
cp .env.sample .env
npm i
docker-compose up --build -V --remove-orphans
  • Import Postman collection (postman_collection.json) into the Postman

  • Test implemented endpoints

GET /agents
GET /issues
POST /agents # name in request body is required
POST /issues # title in request body is required
GET /agents/{id}/issues # id (UUID format) param is required
PUT /agents/{id}/issues/{issueId}/resolve # id (UUID format) and issueId (UUID format) params are required

Entities

  • agent

    • id (UUID)
    • name
    • status (value: 'AVAILABLE' or 'ASSIGNED')
  • issue

    • id (UUID)
    • agent_id (UUID, nullable)
    • title
    • status (value: 'PENDING', 'ASSIGNED' or 'RESOLVED')

API documentation

Generated at http://localhost:8080/api-docs

Docker compose commands

docker-compose up -V
docker-compose down

Testing

npm test
npm run test:coverage

Technologies used

  • Node.js, TypeScript, NestJS, TypeORM (PostgreSQL)

About


Languages

Language:TypeScript 95.3%Language:JavaScript 3.5%Language:Dockerfile 1.2%