Skip to content

jonas1307/vending-machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vending Machine

Contributors Forks Stargazers Issues MIT License LinkedIn

Product Name Screen Shot

About The Project

This is a vending machine emulator built using .NET Core. It simulates inserting coins, selecting a product, and getting the corresponding change. Validations such as product availability, change availability, and validating the inserted amount of money are also implemented in this solution. When a user buys a product, the machine stores the coins on a stack and uses them later for providing change.

(back to top)

Built With

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

Installation (for Visual Studio 2022 or later)

  1. Clone the repository on your machine
  2. Open the file VendingMachine.sln using Visual Studio 2022
  3. Build the solution using CTRL+Shift+B to check for errors (and also restore Nuget packages)
  4. Run the unit tests using CTRL+R, A
  5. Right-click on the project VendingMachine.Web and set it as the startup project
  6. Hit F5 and you should get the project up and running

(back to top)

Roadmap

  • Create an algorithm for selecting the change
  • Code MachineCoinStack and UserCoinStack classes
  • Code Product and ProductGrid classes
  • Create a ChangeService
  • Create MachineService
  • Unit tests
  • Web interface for basic operation of the machine
  • Show the amount of products available to the user
  • Disable buttons for buying out of stock products
  • Optimize application for smaller screens (responsiveness)
  • Add Docker support
  • Add Github Actions support
  • Publish the application in a cloud service for having a live preview

See the open issues for a full list of proposed features (and known issues).

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Jonas Amorim - @jonas1307 - jonasamorim [dot] dev [at] gmail [dot] com

Project Link: https://github.com/jonas1307/vending-machine

(back to top)

About

A .NET 6 vending machine emulator

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages