HotPlate Online is a simple program that allows customers to order food online and have it delivered. At the moment, this program only works for Windows operating systems, but there are plans to expand to Android, IOS and MacOS. Software and illustrations was created by Andrew Collin ( Link )
(This is my submission to GeTS E-Commerce Challenge Hackathon)
Here is a list of technologies I've used.
- Programming Language: C#
- WinForms
- MySQL (NuGet Plugin: MySQL.Data 8.0.30)
- .Net Framework (4.7.2)
Here is an overview of how to use this program (as a customer)
When you first open this program, you'll be greeted with the Main Store Page. On this page you can add your favorite food into the cart. There are multiple categories you can choose from for faster and more organized user experience. Once you add an item, the button will change color and the text will change to "add more". This means that you have 1 or more of this item in the cart. You can check your shopping cart or remove items by clicking on the shopping cart icon on the lower left. This will transfer you to the Checkout Page. On the main page, you also have access to your account information. Just click on the cat icon on the upper right and it will transfer you to the User Settings
This is the checkout page. On this page you'll enter your information to place an order. You can also edit your order to delete them on the very left. Note that by deleting them, you are removing the entire item out of the basket, that means if you have 3 of the same item in the basket and you remove it, you'll remove all 3 of the items from the basket. You'll have to go back to the main page to add the item again.
You can only use a U.S. phone number for checkout. Your address must be in U.S. territory. Your email has to be in this format youremail@email.com
To change your address, you'll have to click on the change button. This will take you to your user settings where you can change your address.
Once you click submit, the program will validate all the input. If valid, it will move onwards to the confirmation page. It will also save the order's data to the database with a unique confirmation number generated by GUID.
Once the check out page validates all of your input, it will bring you to the confirmation page. This is where you'll get a unique confirmation code that is used to trace your order. The confirmation code is used as a primary key for the database as an ID to identify a specific order made. By clicking ok, your shopping cart will reset and it will bring you back to the main page.
Clicking your name or the icon on the upper right will take you to user settings. In user settings, you can change your address, your name, your email and your phone number. This is the only location where you can change your address. Additionally you can also give a note to the driver on how to access your property. By clicking the submit button, it will validate your input and save it to the program.
To install this program, you'll have to open up Git Bash in your ideal location. Then type this command down:
git clone https://github.com/AndrewCollin32/HotPlate-Online-Restaurant.git
It will automatically download everything into your prefered file.
Steps:
- Build your database
- Run ImplimentSQL.cs so it can automaically build your tables and insert data
- Run Program.cs
- Database Name
- Server Name
- Username
- Password
Once you got all the information, go to HotplateRestaurant/HotPlateBurger/Windows.cs
.
Your screen should look like this:
Enter down your database name, server name, username and password.
Then go to HotPlateRestaurant/HotPlateBurger/ImplementSQL.cs
You should see this screen:
Uncomment the block of code. Your code should look like this after:
Noticed that once you uncomment your code, it started to show an error in your IDE. Don't worry, there is one extra step you have to do.
This error occurs when there are more than one entry points. You'll need to go to
HotPlateRestaurant/HotPlateBurger/Program.cs
. You should see this screen:
Uncomment the block of code. Your code should look like this:
Now the program is running. ImplimentSQL.cs should run. After it is finished, you can double check your database to see if there are two tables in there. The two tables are named: foodtable and ordertable.
Afterwards, comment out the same block of code in ImplimentSQL.cs and uncomment the block of code in Program.cs. Run the program and it should start up without any problems
- Add Unit Tests
- Add Log management system