GithubHelp home page GithubHelp logo

ardasdasdas / onlinebookstore Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 7.0 11.6 MB

This project is our term project for Object Oriented Programming 2 lesson.

License: MIT License

TSQL 97.79% C# 2.21%
online-book-store book database magazine

onlinebookstore's Introduction

OnlineBookStore

2 - DESIGN

4 - UML

1. INTRODUCTION

Online Book Store is a desktop application where books, music and magazines are ordered by customers. Customers can access product information. For book such as book name, ISBN number, the author, the publisher, the page number, total price. For magazine such as magazine name, the issue, the type of the magazine, total price. For musicCD such as the name of the singer, the type of the music, total price. When registering to the application, the customer enters a unique user name, name, password, address and a valid email address, and can change her/his password on the settings panel if she/he wishes. After the customer has registered to the application, he/she can add or remove products from his/her cart. He/she can make installments with credit card or pay cash. He/she can choose the shipping company to deliver. The invoice is sent to the user mail in PDF format, After the payment is made, the invoice is automatically opened on the screen by the pdf reader. The customer can view his/her past orders. Customer information, product information, customers’ past orders, products in the cart are kept in the database (sql). Passwords are saved to the database in encrypted form for customer security. There is only one admin in the application. (U:admin / P:admin) Admin can add, delete, update books, magazines and musicCDs also list product information from the settings panel in the application. Customer can't access the product change interface that admin can access.

2. DESIGN

2.1 Login Screen && Sign Up

login

If the person who using the application does not have an account, she/he is directed to the registration screen via the create account link label to create an account. Admin can’t access the users’ password. Passwords are kept encrypted form in database after user registration. If customer has an account, if username and password that entered the textboxes matches customer’s information on database(sql) he/she logged in.

sign_up

2.2 Dashboard Screen

MainWindow’s load function load the products from database and customer see randomly products on dashboard, under the title “Editor’s choices”. Header has an animated text for welcome, it says good morning, good evening, good night depending on time.

dashboard

2.3 Books Screen

books screen

2.4 Music CDs Screen

When the customer clicks the Play icon which resides on the musicCD panels, a sample song is played for him/her.

MusicCd's screen

2.5 Magazines Screen

magazines screen

2.6 My Orders Screen

Customer can see his/her order history on this screen with details.

2 5 My Orders Screen

2.7 My Cart Screen

This screen for customer’s shopping cart. User can see and do actions all products on his/her cart on that screen.

my cart

2.8 Payment Screen

Personal information section automaticlly filled from database without phone number. When customer select and fill all the necessary sections, he/she can see total payment on the screen with taxes and shipping fee. When its done, the invoice appear on the screen and it will send to customer’s mail address on pdf form rapidly.

2 7 Payment Screen

2.9 Mail Example

2 8 Mail Example

2.10 Invoice Example

2 9 Invoice Example

2.11 Admin Screen for Books

Admin can add, list, delete and update all the products on this panels. Also, admin can see all the customers on customer list.

2 10 Admin Screen for Books

2.12 Admin Screen for Music CDs

2 12 Admin Screen for MusicCDs

2.13 Admin Screen for Magazines

Admin Screen for Magazines

2.14 Admin Screen to see Customer List

Admin Screen for see Customer List

2.15 Settings Screen for Customers

If loginned user is not an admin, settings panel looking like this. Customers can change their informations with password confirmation.

2 14 Settings Screen for Customers

3. Databse

The data were kept in the online MsSQL database. For this, an online database has been created in Microsoft Azure account. All users who have access to the database have access, that is, the program can be run without the need for extra installation, but still the database creation script has been added under version control. A database table named Tbl Customer has been created to hold user data. For the products, 3 separate database tables named Tbl_Book, Tbl_Magazine and Tbl_Music have been created. For past orders, the Tbl_Bill and Tbl_BillProduct table have been created. The tables in the database and their relations are as follows. Database connection of the project added DbConnection class.

database

You can set our database on your computer from here. After creating you have to get your SQL connection string, after that you have to enter 28th column in DbConnection.cs class.

4. UML

UML

Patterns That We Used

Since we wanted to ensure that only one object from our customer class was created in the application we will do, we applied Singleton Design Pattern. This customer object, which we will create in our application with Singleton Design Pattern, will prevent the creation of a second customer object thanks to Singleton Pattern. While creating a User Control according to the added product in our project, we used Factory Design Pattern so that the user does not change the code in every choice. Added product's type determines User Control's type. Also we could use Proxy Design Pattern, but we had no time.

5. THE WORKS OF TEAM MEMBERS

THE WORKS OF TEAM MEMBERS

onlinebookstore's People

Contributors

ardasdasdas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.