An console-based application to simulate interaction between a customer and a small bakery, hosted on GitHub, where a user can view and buy baked goods.
This C# application allows the user to "enter" the bakery and utilizes the user's console-based inputs to display the menu items for the day, see special deals, create a grocery bag of Bread or Pastry items to purchase, and affect the inventory of the Bakery when they check out.
Download or clone the repository to run this program locally! This program requires .NET Core SDK to run. Here is a free tutorial for installing .NET on Mac or Windows 10.
- Download or clone this repo.
- To Download ZIP:
- Select "Download" on the GitHub Repository site
- Once downloaded, open the ZIP and extract files. The new folder will be created as 'Pierre-s-Bakery-ConsoleApp'.
- To Clone:
- Clone from command line into your Desktop:
$ git clone https://github.com/KristaRutz/Pierre-s-Bakery-ConsoleApp.git
- The new directory will be created as 'Desktop/Pierre-s-Bakery-ConsoleApp'.
- Clone from command line into your Desktop:
- To Download ZIP:
- Once you have stored the files locally, execute the following commands.
- Navigate to the application directory:
$ cd Pierre-s-Bakery-ConsoleApp
dotnet build
dotnet run
- Navigate to the application directory:
- Upon success, the program will begin running in your console.
- C#
- .NET Core 2.2
Expand specs for this project
Spec | Example Input | Expected Output |
---|---|---|
User can quit the application | 'x' | "Goodbye" > Exited |
User can continue on to see the specials and take actions | '1' | "Today's specials...make a selection!" |
User can select how many loaves of bread to buy | '3' | "You have added 3 loaves of bread to your purchase" |
User can select how many pastries to buy | '2' | "You have added 2 pastries to your purchase" |
Adding bread or pastries will change the user's subtotal | "Buy 2 pastries" | Subtotal: $4 |
User can view the total cost of the purchase | "view subtotal" | Your order costs $14 |
Pierre's deals will be applied: B2GO bread, 3 for $5 pastries. | "Buy 3 pastries" | Subtotal: $5 |
User can remove bread or pastries from their order | Remove 1 pastry | Subtotal: $4, Pastries: 2 |
Expand user stories for this project
As a User-Type, | I want... | so that... |
---|---|---|
As a bakery manager, | I want my customers to know what the menu items are and the deals | so that they can make informed decisions |
As a bakery manager, | I want an app that tracks how many items I have in inventory | so that customers aren't buying products I don't have |
As a bakery manager, | I want an app that keeps a record of all revenue | so that I can manage my finances |
As a fan of baked goods, | I want an app to order baked goods | so that I can eat them! |
As a customer, | I want to be able to input custom amounts | so that my unique needs are met |
As a customer, | I want an app that automatically applies discounts | so that I can maximize my spending |
As a person who changes my mind | I want the ability to edit my order | so that I'm not stuck buying things I don't want |
No known bugs.
Please contact me if you run into any issues or have questions, ideas or concerns. I can be contacted at [email protected]. Feel free to create a pull request for updates - contributions to the code are encouraged!
This software is licensed under the MIT license
Copyright (c) 2020 Krista Rutz
View license details
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.