Giter VIP home page Giter VIP logo

togo's Introduction

FAQ

  • How to run your code locally?

For running the server, use a simple command: $ make run

  • A sample “curl” command to call your API
curl --location \
  --request POST 'localhost:9000/to-do' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "user_id": "user-id",
  "entry": [
    {
      "content": "drink water"
    }
  ]
}'
  • How to run your unit tests locally?

To run the unit tests locally, use the command: $ make test

  • What do you love about your solution?

The solution for adding the to do list was designed to deal with high rate of update rate. In that, we try to commit the length of the data piece in order to control the limit value, before storing all the remaining data.

The project layout was inspired from the project Standard Go Project Layout. The project architecture was inspired from the Clean Architecture. I also added some innovations in order to simplify the model for smaller project (pretty common in today's context, microservices)

The project was built with gRPC, protobuf, MySQL and Redis, which are the main technologies that I have been working for over 3 years.

  • What else do you want us to know about however you do not have enough time to complete?

I have tried my best implementing the requirements that you offered. Some unit tests and functional tests have been added to keep the project work. I think it is enough to fulfil the requirements with this limitation of time.

Requirements checklist

  • Implement one single API which accepts a todo task and records it
    • There is a maximum limit of N tasks per user that can be added per day.
    • Different users can have different maximum daily limit.
  • Write integration (functional) tests
  • Write unit tests
  • Choose a suitable architecture to make your code simple, organizable, and maintainable
  • Write a concise README
    • How to run your code locally?
    • A sample “curl” command to call your API
    • How to run your unit tests locally?
    • What do you love about your solution?
    • What else do you want us to know about however you do not have enough time to complete?

Star History

Star History Chart

togo's People

Contributors

vchitai avatar lhtrieu87 avatar phi0411141 avatar nvcnvn avatar

Stargazers

Agung Ap avatar  avatar REWARD RABIETH avatar  avatar  avatar Kuznetsov Kirill  avatar Artem Veshkurov avatar Nguyễn Võ Hoàng Duy avatar Artem Vasylenko avatar Abdi Haikal avatar samithiwat avatar Mert Çakmak avatar Masood Adeli avatar dominic avatar Anis Bouzahar avatar Joseph Akayesi avatar Sureerat Kaewkeeree avatar  avatar Quan Bui avatar Lucas Barbosa avatar Stefano avatar Aleksey Petrakov avatar Dillan Cagnetta avatar JunYong avatar Neil Campos avatar

Watchers

JunYong avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.