sewek / user-service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

User Service

User's website design as a recruitment task.

Assumptions

Write a simple REST-ful API in Nest.js (use TypeScript and Express.js)

Use https://jsonplaceholder.typicode.com/users as simple API data provider.

Your API should have the following functionalities (must):

  • ApiDoc Documentation available on /docs
  • Implemented /users method (list)
  • Implemented /user/{id} method (fetch single entry)
  • Simple basic auth to secure api with admin login and password

You’ll get extra points for:

  • Implementing well-known project structure. (DDD is preferred but you can also use another one)
  • Logger and standarized response with requestId - your every endpoint response should have similar structure but different payload

Basic usage

Install dependencies

$ npm install

Create configuration file

$ echo "AUTH_USER=...\nAUTH_PASSWORD=..." > .env

Run

$ npm run start

Alternative usage

Alternatively, you can run the app using Docker.

Build image

$ docker build -t sewek/user-service .

Run

$ docker run --rm -p 3000:3000 -e PORT=3000 -e AUTH_USER=... -e AUTH_PASS=... sewek/user-service

About


Languages

Language:TypeScript 94.7%Language:JavaScript 3.5%Language:Dockerfile 1.7%