Software Design Description Document (SDD) - CankayaUniversity/ceng-407-408-2021-2022-Kloti-Mobile-Shopping-Application-Powered-by-Augmented-Reality GitHub Wiki

Table Of Contents

1. INTRODUCTION

  • 1.1 Purpose

  • 1.2 Scope

  • 1.3 Definitions And Acronyms, Abbreviations

  • 1.4 References

  • 1.5 Overview

2. DESIGN APPROACH

  • 2.1 Class Diagram

  • 2.2 Activity Diagrams

  • 2.2.1 Customer Activity Diagram

  • 2.2.1.1 Sign Up
  • 2.2.1.2 Login
  • 2.2.1.3 Profile Management
  • 2.2.1.4 Product Selection
  • 2.2.1.5 Give An Order
  • 2.2.2 Employee Activity Diagram

  • 2.3 Used Drawing Tools

3. ARCHITECTURE DESIGN

  • 3.1 Software Architecture

  • 3.2 Hardware Architecture

4. SYSTEM INTERFACES

  • 4.1 External System Interfaces

5. USER INTERFACE DESIGN

  • 5.1 Navigation

  • 5.2 Screen Definitions

  • 5.2.1 Page Descriptions

  • 5.2.1.1 Splash Screen
  • 5.2.1.2 Costumer Home Page & Company Catalog Page
  • 5.2.1.3 Hamburger Menu For Unknown User
  • 5.2.1.4 Hamburger Menu For Registered User
  • 5.2.1.5 Login Page
  • 5.2.1.6 Costumer Register Page
  • 5.2.1.7 Catalog For Clothe Type Page
  • 5.2.1.8 Catalog For Models Page
  • 5.2.1.9 Clothe Examination Page & Try Button
  • 5.2.1.10 Costumer Shopping Cart Page
  • 5.2.1.11 Catalog For Models Page
  • 5.2.1.12 Costumer AR Camera
  • 5.2.1.13 Costumer Edit Profile Page
  • 5.2.1.14 Employee Home Page
  • 5.2.1.15 Employee Previous Orders Page
  • 5.2.1.16 Employee Edit Profile Page

6.PROCESS DESIGN

  • 6.1 Sequence Diagrams

  • 6.1.1 Customer Sequence Diagram

  • 6.1.2 Employee Sequence Diagram

7.DATABASE DESIGN

  • 7.1 ER Diagram

                                                  List Of Figures
  • Figure 1: Class Diagram
  • Figure 2: Sign Up Activity Diagram
  • Figure 3: Login Activity Diagram
  • Figure 4: Profile Management Activity Diagram
  • Figure 5: Product Selection Activity Diagram
  • Figure 6: Give An Order Activity Diagram
  • Figure 7: Show Status Activity Diagram
  • Figure 8: Approval View Activity Diagram
  • Figure 9: Profile Management Activity Diagram
  • Figure 10: Splash Screen UI
  • Figure 11: Home UI
  • Figure 12: Unknown User Hamburger Menu UI
  • Figure 13: Registered User Hamburger Menu UI
  • Figure 14: Login UI
  • Figure 15: Register UI
  • Figure 16: Catalog For Clothe Type UI
  • Figure 17: Catalog For Model UI
  • Figure 18: Examination UI
  • Figure 19: Shopping Cart UI
  • Figure 20: Payment UI
  • Figure 21: AR UI
  • Figure 22: Costumer Edit Profile UI
  • Figure 23: Employee Home UI
  • Figure 24: Previous Orders UI
  • Figure 25: Employee Edit Profile UI
  • Figure 26: Customer Sequence Diagram
  • Figure 27: Employee Sequence Diagram
  • Figure 28: Employee Sequence Diagram (continued)
  • Figure 29: ER Diagram
  • Figure 30: No-SQL Diagram

1. INTRODUCTION

This document describes how the project will appear visually in the user interface and the detailed architecture of the project.

1.1 Purpose

The purpose of this document is to provide detailed information about the architecture and visual design of the mobile shopping application we call "Kloti".With this mobile application project, people will be able to shop for clothes on their mobile phones whenever and wherever they want, and even try on clothes using their cameras. Thus, they will profit from both time and shopping fatigue.

1.2 Scope

All the features of this application, which allows people to try on the clothes they want to buy while shopping online, are detailed in the rest of the document.These features are explained more clearly using the Activity Diagram, Sequence Diagram, ER Diagram, No-SQL Data Model Diagram, Class Diagram and the visuals of the user interface.

1.3 Definitions and Acronyms, Abbreviations

Definitions and Acronyms, Abbreviations

1.4 References

[1] "Draw.io" [Online]. Available: https://app.diagrams.net/. [Accessed: 31 December 2021].

[2] "Adobe XD" [Online]. Available: https://www.adobe.com/tr/products/xd.html [Accessed: 31 December 2021].

[3] "Visual Paradigm" [Online]. Available: https://online.visual-paradigm.com/drive/#diagramlist:proj=0&dashboard [Accessed: 31 December 2021].

1.5 Overview

  • Chapter 1 is an introduction to the software design description document about "Kloti".
  • Chapter 2 is explain the approaches, constraints, class and activity diagram.
  • Chapter 3 is explain the architectural structure.
  • Chapter 4 is the description of system interfaces.
  • Chapter 5 is the visuals and explanations of the user interface.
  • Chapter 6 contains a sequence diagram that explains how objects interact with each other.
  • Chapter 7 contains ER and No-SQL diagram explaining database design.

2.Design Approach

2.1 Class Diagram

ClassDiagram

                  Figure 1 : Class Diagram

Since Customer and Employee have some common features, they are inherited from User class and have their own functions. In the order class, the date of the delivery of the order, the id number of the order, the condition of the order and the address to which the order will be delivered are kept. Since the customer is the orderer, it is related to the order class, and since the employee is the deliverer of the order, it is related to the order class. Also, since the order includes products, the order class includes the products class. In the shopping card class, the id number of the card is kept. In the cash payment class, the id number of the payment is kept, and in the shopping cart item class, the value of the itemid and cost are kept. These classes are linked to the order class, since the customer chooses the payment transaction type at the time of placing the order and the customer will see the total amount to be paid at the time of ordering. The products class holds the color, type, name, price, and information about the product, and the catalog class holds the type of the catalog, the category, and the brand class holds the id and name of the brand. Since there are products and brands in the catalog, catalog class includes products and brands.

2.2 Activity Diagrams

2.2.1 Customer Activity Diagram

2.2.1.1 Sign Up

SignUpActivity

                  Figure 2 : Sign Up Activity Diagram

Users enter the required information into the system and register on the screen that appears in front of them.

2.2.1.2 Login

Login

                  Figure 3 : Login Activity Diagram

In order for users to log in to the application, they must enter their email and password information on the account they are registered with.If they successfully pass the reCaptcha application, which proves that they are not robots after typing the information, and if their information is correct, they will be logged into the system.

2.2.1.3 Profile Management

ProfileManagement

                  Figure 4 : Profile Management Activity Diagram

Customers can view and edit their profile after logging into the app.Customers can change the information they want to change (password, address, phone number) from the edit profile section of the page that appears.

2.2.1.4 Product Selection

ProductSelection

                  Figure 5 : Product Selection Activity Diagram

After logging into the application, the customer selects the catalog and the product belonging to that catalogue. The product to be purchased can be tried using the phone camera with AR or the order can be placed directly without trying it. Also, the order can be canceled at any time.

2.2.1.5 Give An Order

GiveAnOrder

                  Figure 6 : Give An Order Activity Diagram

After logging into the application, the user can add the product to the shopping cart, then edit this cart or select an address directly without editing.If the user chooses an address, their order can be confirmed or canceled after choosing to pay cash. Also, the user can return and edit the shopping cart after confirming the order.

2.2.2 Employee Activity Diagram

2.2.2.1 Show Status

GiveAnOrder

                  Figure 7 : Show Status Activity Diagram

If the employee has delivered the product to the customer, employee logs in to the application, clicks the statu of order button from the main menu, selects the order he delivered from the screen that appears, then selects the day and time he delivered and saves this information.

2.2.2.2 Approval & View

GiveAnOrder

                  Figure 8 : Approval View  Activity Diagram

After the employee logs into the application, she sees the orders that need to be delivered and clicks the confirm button next to the order to confirm the order she wants to deliver, then she sees the details of the order.

2.2.2.3 Profile Management

GiveAnOrder

                  Figure 9 :  Profile Management Activity Diagram

After logging into the application, users can click the edit profile button from the main menu and change the information they want to change from the page that opens.

2.3 Used Drawing Tools

"app.diagrams.net"[1] is used for Customer Activity & Sequence Diagram and database design diagrams. "Adobe XD"[2] is used for user interface designs. "Visual Paradigm"[3] is used for Employee Activity & Sequence Diagram.

3.Architecture

Glossary

3.1 Software Architecture

Kloti Mobile Application software will be designed according to the figure above.This application can be accessed from both Android and IOS devices.Firebase will be used for database in the application.Customer, employee and customer's previous orders will be kept in the database.

3.2 Hardware Architecture

Any device with an IOS or Android operating system is sufficient.

4. SYSTEM INTERFACES

4.1 External System Interfaces

No external interfaces.

5.User Interface Design

5.1 Navigation

Since this application will be developed for use on Android and Apple devices, the application must be downloaded from the Play Store or App Store. The costumer and employee interfaces of the application will be discussed in more detail in section 5.2.

5.2 Screen Definitions

5.2.1 Page descriptions

5.2.1.1 Splash Screen

Glossary

                  Figure 10 : Splash Screen UI 

5.2.1.2 Costumer Home Page & Company Catalog Page

Glossary

                  Figure 11 : Home UI 

5.2.1.3 Hamburger Menu For Unknown User

Glossary

                  Figure 12 : Unknown User Hamburger Menu UI 

5.2.1.4 Hamburger Menu For Registered User

Glossary

                  Figure 13 : Registered User Hamburger Menu UI 

5.2.1.5 Login Page

Glossary

                  Figure 14 : Login UI 

5.2.1.6 Costumer Register Page

Glossary

                  Figure 15 : Register UI 

5.2.1.7 Catalog For Clothe Type Page

Glossary

                  Figure 16 : Catalog For Clothe Type UI 

5.2.1.8 Catalog For Models Page

Glossary

                  Figure 17 : Catalog For Model UI 

5.2.1.9 Clothe Examination Page & Try Button

Glossary

                  Figure 18 : Examination UI 

5.2.1.10 Costumer Shopping Cart Page

Glossary

                  Figure 19 : Shopping Cart UI 

5.2.1.11 Catalog For Models Page

Glossary

                  Figure 20 : Payment UI

5.2.1.12 Costumer AR Camera

Glossary

                  Figure 21 : AR UI

5.2.1.13 Costumer Edit Profile Page

Glossary

                  Figure 22 : Costumer Edit Profile UI

5.2.1.14 Employee Home Page

Glossary

                  Figure 23 : Employee Home UI

5.2.1.15 Employee Previous Orders Page

Glossary

                  Figure 24 : Previous Orders UI

5.2.1.16 Employee Edit Profile Page

Glossary

                  Figure 25 : Employee Edit Profile UI

6.Process Design

6.1 Sequence Diagrams

6.1.1 Customer Sequence Diagram

CustomerSequence

                  Figure 26 : Customer Sequence Diagram

6.1.2 Employee Sequence Diagram

EmployeeSequence

                  Figure 27 : Employee Sequence Diagram

EmployeeSequence

                  Figure 28 : Employee Sequence Diagram (continued)

7.Database Design

7.1 ER Diagram

ERDiagram

                  Figure 29 : ER Diagram

7.2 No-SQL Diagram

ERDiagram

                  Figure 30 : No-SQL Diagram