Git Product home page Git Product logo

backend-developer-assignment-v2's Introduction

Backend developer assignment

The system you are about to develop is intended to handle bids on hotel auction.

Company RoomsQuickly organizes auction on top hotels luxury rooms once a month. Amount of unique rooms is usually around a few hundred thousands across the globe.

RoomsQuickly has hundred of partners willing to participate and post bids: website, mobile application, off-line auction. CTO of the company managed to agree with all partners to send bids in Thai Baht only. Same time he promises partners to handle high load with excellent performance that’s why he expects the system to be able to scale horizontally.

Partners should be able to:

  • Request list of active auction items (items which are able to accept bids)
  • Post a bid and get success/failure response back
  • Request information whether or not the bid is a winner by unique bid_id
  • Be notified when the bid is no longer a winner via http request to their API
  • Requests all bids (accepted/rejected) for specific room with pagination support. Please pay attention that this endpoint is intended to be used when room auction is live and new bids are coming: no duplicates should be returned.

Business rules:

  • Partners bid on unique rooms
  • Rooms should be returned in list of auctionable rooms ordered by time remaining for bidding
  • Each room has minimal allowed bid
  • Bid with higher price wins
    • If new price is greater than old one by 5%
  • Each room is opened for bids for 10 minutes
    • If new bid is received less than 1 minute from the end of room auction then auction time is automatically extend by 1 minute (to prevent bidding in last seconds with anyone else being able to overbid)

Areas we would be evaluating

  • Is there documentation?
  • Code style
  • language/platform features utilization
  • project structure (file/folder organization)
  • architecture (components, areas of responsibility)
  • complexity (easier to understand code is better)
  • unit/integration/end2end tests =======
  • resolution for all challenges

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.