Giter Club home page Giter Club logo

doki-wallet's Introduction

Doki Challenge: Simple Wallet Microservice

We are going to have a microservice to keep all data of the user wallet. We need to have two API to expose them to other microservices.

API Information:

  • get-balance: This API should return a JSON to show the current balance of a user. The parameter which is needed for this API is user_id and the output should be like the below sample:

Input: user_id int

Output: {"balance":4000}

  • add-money: This API should add money to the wallet of a user and at the end return the transaction reference number. The parameter which is needed for this API is user_id and amount and the output should be like the below sample:

Input: user_id int amount int (this parameter can be negative)

Output: {"reference_id":12312312312}

Project Detail:

Please consider the below points:

  • Please Dockerize the project
  • Use MySql as a database to store your data
  • We need to Save all transaction logs of user
  • We need an API to show balance of each user
  • We need an API to add money to wallet of user
  • We need to have some necessary test cases (just 6 test case to make sure you know about this procedure)
  • We need a daily job to calculate total amount of transactions and print it on terminal
  • You don’t have to develop any API or service for user, just develop the necessary services which are related to wallet

Task Management

Please refer to this issue to review the performed tasks. The commits for each task are listed in front of it.

doki-wallet's People

Contributors

ctirouzh avatar

Stargazers

Roman avatar Alireza Jangi avatar

Watchers

 avatar

doki-wallet's Issues

Task Management

Tasks:

IDEA: Simulate transaction roll with goroutine

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.