Small Nest.js-based project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Inga 🏳‍🌈 a586a0fbc7 connected queue to screenshotter; first functional version 2 years ago
client enabled request validation 2 years ago
src connected queue to screenshotter; first functional version 2 years ago
test reorganized code 2 years ago
.eslintrc.js created empty NestJS project 2 years ago
.gitignore created empty NestJS project 2 years ago
.prettierrc created empty NestJS project 2 years ago
LICENSE Initial commit 2 years ago
README.md created empty NestJS project 2 years ago
nest-cli.json configured openapi docs 2 years ago
package-lock.json enabled request validation 2 years ago
package.json enabled request validation 2 years ago
tsconfig.build.json screenshotter implemented 2 years ago
tsconfig.json connected queue to screenshotter; first functional version 2 years ago

README.md

Assignment

Datawrapper Test Project: Backend

Overview

The project is to create a web service that takes screenshots of websites.

The service should expose an API that a client can use to create a new screenshot request, with any given URL as a parameter. The web service should then return a status URL that the client can periodically call to receive updates on the status on its request. The web service should take a screenshot of the provided URL. Once the screenshot was taken, it should be possible for the client to retrieve it. The service should be designed in a scalable fashion, so that it can handle varying amounts of parallel requests in a stable and efficient fashion.

The API notation can be defined as you see fit.

Technology stack

  • Server-side code should be written in JavaScript or TypeScript
  • It should be possible to run the application locally (ideally as a containerized application, but other technologies are allowed as well)
  • Any other tools, technologies or frameworks can be used at your discretion
  • A hosted version of the application to test is a plus, but not a must

Delivery

The project should be delivered as a Github repository. It should be possible to run the service locally.

Commands

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov