Skip to content

Database app for Zbigniew Habadzibadło's bakery management. Powered by .NET 6.0.

Notifications You must be signed in to change notification settings

KamilSztandur/bakery_database_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zbigniew Habadzibadło's bakery management database app.

Table of contents

About

Database app for Zbigniew Habadzibadło's bakery management.

Technologies

  • .NET 6.0
  • ASP.NET MVC 6.0
  • Microsoft Entity Framework
  • MS SQL Express (localDB)
  • SQL
  • Onion Architecture
  • Domain-Driven Design

Setup

  1. Install all required .NET versions.

  2. Install MS SQL Express on your machine.

  3. Initialize bakeryapp database and tables by using: initialize_tables.sql

  4. Initialize bakeryapp views by using: initialize_views.sql

  5. Enter Powershell and go to BakeryManagement.Infrastructure, execute these two commands:

dotnet ef --startup-project ../BakeryManager.WebAPI/BakeryManager.WebAPI.csproj migrations add setup

dotnet ef --startup-project ../BakeryManager.WebAPI/BakeryManager.WebAPI.csproj database update

  1. Launch WebAPI (IIS EXpress)

  2. Launch WebApp.

  3. Go to https://localhost:7247/

  4. Have fun!

Functionalities

  • Intuitivie GUI for database management.
  • Support and distinguish between bakeries without any conflicts using the Bakery Code.
  • Bakery Code consists of two characters and is unique due to being the PK.
  • The app allows user to generate sales reports.
  • The app allows user to generate a sales by the types of products in the "Reports" tab.
  • Tha app allows user to save all reports to their local machine by exporting it to CSV file.
  • The system does not allow user to enter incorrect data. Input verification takes place already at the level of web application in the forms to which the data is entered, then in the web API controllers, then in the infrastructure layer services (e.g. syntax), then in the infrastructure layer repositories (data compatibility with tha database) and in the MS SQL Express environment.
  • System does not allow user to list a sale for a non-existent bakery. At level of repositories connecting the system with the ORM Entity Framework, it's verified whether a given bakery exists in database.
  • The system supports so-called regular customers, stores their data and automatically calculates discounts for them as part of loyalty programs (GetTotalPrice function in SQL).
  • The system assigns customers and ID number and stores their first and last name. The amount of money spent is dynamically calculated per call and is based on receipts data table.
  • The is a "Premium Client" discount in the system, which entitles its regular customers to 15% discount if they spent a total of PLN 1000. Additionally, there is a report that distinguishes premium customers from all customers.
  • At the time of transaction, the premium customer discount is automatically applied by the system without the need of the participation of real living persons. Then the price of each purchase is reduced by 15% for premium client.

Showcase

Home Page:

image

Sample table view:
image

Create, Edit and Delete all records:
image
image
image

Use "Reports" tab to analyze your sales and bakery data: image

Export your reports to CSV by clicking "Export to CSV" button and save it on your local machine:
image

Notes

  • My one-man university project.
  • Name refers to one of the videos of GF Darwin, team of polish creators of amateur cinema on polish YouTube. Click here to watch the video.

About

Database app for Zbigniew Habadzibadło's bakery management. Powered by .NET 6.0.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published