Skip to content

saadbutt/ToDoList

Repository files navigation

Link of Published DOCS for frontend Developers

https://documenter.getpostman.com/view/5840690/T1DpDJ7c

RUN PROJECT

go build ./ToDoList

POSTMAN COLLECTION is also in Files Folder

task.postman_collection.json

Github Link

https://github.com/saadbutt/ToDoList

Log Files and Reports are in Files Folder. All database is in database.txt file.

ToDoList

Project Summary "One of the most common tools used by professionals all over the world to capture tasks is a To Do list. They come in all shapes, forms, and features. In this project you will build Backend of a SAAS application that allows its users to build and maintain a To Do list.

A task consist of following properties: creation date time, title, description, file attachments (e.g. an image), due date time, completion status (true/false), completion date time."

Datastore Use flat file as your database. Store list of tasks in a text or json file.

REST Unless absolutely required, all the communication between a client (user) and the server (website) must be based on REST and JSON. Core operations "Allow a user to perform following operations

  • Create a new task
  • Edit a task
  • Delete a task
  • View list of tasks
  • Attach file(s) with an existing task NOTE: Data returned from all of the APIS must be paginated"

Reports "Allow a user to generate following reports (each report should be served from a separate endpoint)

  • Count of total tasks, completed tasks, and remaining tasks (aggregate all 3 in parallel)
  • Average number of tasks completed per day (aggregate average in parallel for each day)
  • On what date, maximum number of tasks were completed in a single day
  • Count maximum number of tasks added on a particular day. (It should return date and number of tasks, if multiple, return multiple dates)

Note: If report for particular use case exists on disk it should be returned without generating a new one otherwise new report will be generated and persisted to the disk." Similar Task Detection Return user a list of similar tasks. Two tasks A and B are considered similar if all the words in the task A exist in task B or vice versa. Caching of Reports A generated report should remain valid for 15 minutes on disk. After 15 minutes expire the report from the disk Logging All the REST API endpoint calls should be logged in a log file API Documentation Generate documentation of API that can be consumed by front end developers

REST API collection (Postman) REST API collection using any API client of all the endpoints.

Language and Framework Go language with standard http package for rest. Assignment in any other language will not be accepted

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages