Vending Machine with .NET

Create a seamless coffee vending machine experience that replaces old-school vending machines.

Coffresso is a VaaS (Vending as a Service) company. The business model is just installing their machines in company offices, charging a fixed price for it and a variable based on how much they consume.

These machines has a microchip to interact with the machine and the business logic developed by Coffresso. Through it, Coffresso can take control about things like stock, items, prices, etc...

Now our PM wants to have a better web application. But the developer of it is no longer in the company. Can you help us improve the app?

Ideal for

Middle developers

Available stacks


Required experience

Mid-level knowledge


Our CEO wants to scale the business and, due to the bad experience with the previous developer, she wants to create a well-experienced team to help her.

To do so, she wants to start with some features and fixes of the actual API.

  • She wants to be able to control how much money has been spent, totally and per item.
  • She also wants to offer a 5% discount per drink if the company has a higher consume ratio (> 5 items per day).

The actual CTO has defined some technical constraints that you should follow on every refactor or new code of this API. These are the restrictions for your PRs to be accepted:

  • Ensure you are not coupling the business logic with any framework. May be tomorrow we have to change something due to scalability issues...
  • The mission of the team is to create a better API, so please use design patterns to improve the actual base code and decouple this mess.
  • Code should be tested, ensuring that the API fulfills the business logic and we do not break nothing with a change.
  • The API should follows the REST API design principles (at least do not break the most important ones).
Vending Machine Challenge

  • Solve the challenge and show your potential
  • Defend your solution by explaining your code.
  • Get feedback on your code from experts.
  • Build your technical portfolio with all your completed challenge 
  • Create an app and test your coding skills
  • Feedback from our expert Tech Mentors
  • A complete report of your skills - with the possibility of sharing it
  • Your own technical portfolio to use in job interviews


Mauro Gómez

Mauro Gómez is the CTO and Co-Founder of Rviewer. Software Engineer with more than 7 years of experience both as a developer and as a researcher in the field.

He has done research in prominent places such as the Barcelona Supercomputing Center, and worked in leading companies such as Adsmurai, as Team Lead and Big Data Developer, or Sabentis, evolving its SaaS platform.

Start now this Vending Machine challenge

Ready to challenge yourself and build something you're proud of?

More coding challenges

Challenge by
Memory game
Create your own Memory Card game based on pairs of cards.
  • Full-Stack Developer
  • Junior · Middle
  • 4 h
Challenge by
Create a To-Do list API where the tasks and all their history of changes are stored on a Blockchain.
  • Backend Developer
  • Junior
  • Java · JavaScript · Python · + 5
  • 1 h
Challenge by
EuroVoting system
Build a new voting system with Blockchain, providing a decentralized database and ensuring the immutability of the data.
  • Backend Developer
  • Senior
  • Java · JavaScript · Python · + 5
  • 3 h