GithubHelp home page GithubHelp logo

aputivlskiy / pairing-exercise Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ozean12/pairing-exercise

0.0 0.0 0.0 440 KB

Pairing exercise for Billie's hiring

Kotlin 98.91% Dockerfile 1.09%

pairing-exercise's Introduction

Pair Programming Exercise for Billie

The Requirements

The way a business like Billie works is this:

A business buyer goes to a merchant's e-commerce platform catering and buys goods. 
At the checkout, the buyer chooses Billie as a payment method and checks out via our 
widget on the merchant's site. Upon shipment of the goods, the merchant sends us
the information about the shipped items and is paid immediately.
Depending on the availability of the items the merchant can ship all the items
at once or in separate shipments.
Example: the buyer bought 3 items and the merchant shipped the 1st item the next day
and the 2 other items one week later.
Billie also issues an invoice to the buyer. The buyer is then invoiced by Billie
and they pay the invoice

At this point, we have built an API to map simple organizations, but not much else.
There are a lot of features still to build!!!

The Exercise

The task is to implement one of the most important business requirements:

The ability for the merchant to notify Billie of shipment of an order, so they can get paid. The merchant is not required to send a list of the shipped items but the sum of the shipments should not exceed the total order amount.

In order to implement this, please make a fork of this repo and when done with the implementation, send us a link to your repo. The time spent on this assignment is usually between 2 and 4 hours. If you feel that that wasn't enough please describe in a document what would you add if you had more time.

Strong hint: we are fans of TDD, DDD, and clean code. Feel free to change the folder structure or anything else in the project

The Tech Stuff

Prerequisites

We assume that you have docker, docker compose, and Java 15 installed, and can run gradle

Running the tests:

cd <project_root>
docker compose up database -d
gradle flywayMigrate
gradle clean build
docs at -> http://localhost:8080/swagger-ui/index.html

Work has been started but not done yet to containerise the kotlin service.

The service runs in the host right now. Feel free to fix that if it makes your life easier

pairing-exercise's People

Contributors

ahmedsamy avatar akhodos avatar aputivlskiy avatar ben-billie avatar mohamedboualleg avatar tibi-billie 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.