/node_task

Primary LanguageJavaScript

Node technical interview task

The task is to create a backend API for a simple blog system consisting of Articles, Users and Comments.

Features:

Articles:

  • Create a new article ( title, body, and author )
    • Read/retrieve a given Article by ID.
    • List all articles.
    • Search for a specific article.
    • Add comments to a given article.
    • Thumbs up to a given article.

Author:

  • Create a new author ( name and job title )
    • Read/retrieve given Author info by ID.
    • List all authors.

Requirements:

  • The features above need to be implemented in the form of a Restful API.
  • The API needs to be implemented using Node js
  • Use Mongo DB as a Database to store the data.
  • Use Express js as the HTTP server for your API.
  • Implement input validation for all the endpoints.
  • Write unit and end to end test cases.
  • Write design documentation for both the API and the data model.
  • The code should be hosted on one of the following source management systems ( Github, Gitlab )

Bonus:

  • Implement the task using one of the frameworks that support Typescript, e.g. NestJs
  • Use Docker and docker-compose to automate building and provisioning of the API and the database.
  • Add functionality to sort articles by the number of thumbs up given.
  • Enhance articles searching ( i.e. text scoring, search engines )
  • Deploy your API to one of the free hosting services, e.g. Heroku.

🐋🐋Live-Demo