Software Requirements Specifications (SRS) - CankayaUniversity/ceng-407-408-2021-2022-Kloti-Mobile-Shopping-Application-Powered-by-Augmented-Reality GitHub Wiki
Table Of Contents
LIST OF FIGURES
- Figure 1: Product Functions-Register
- Figure 2: Product Functions-Login
- Figure 3: Product Functions-Shopping Cart
- Figure 4: Product Functions-Edit Profile
- Figure 5: Product Functions-Catalog
- Figure 6: Product Functions-Employee Login
- Figure 7: Product Functions-Order Accept
- Figure 8: Product Functions-Google Maps
- Figure 9: Product Functions-Employee Edit Profile
- Figure 10: Product Functions-Activity Status
- Figure 11: Product Functions-Previous Orders
- Figure 12: Customer Use Case
- Figure 13: Employee Use Case
1. INTRODUCTION
The purpose of this document is to describe the shopping application called Kloti. This application aims that customers who will use the application can easily access the clothes (products) they want by minimizing the time they will spend for shopping in the place or time they want, and try these products with their cameras. This document describes the requirements of the project in detail. With SRS, how users and employees interact with the application is explained visually.
1.2 Scope of Project
Today, people usually want to spend their remaining time at home after returning from work or to spend time for activities. The number one reason for this is that people's time is valuable today. That's why most people are too lazy to even leave their homes to shop. In order to solve this problem, shopping applications and websites have been created. Even though these applications allow people to easily fulfill their shopping needs from wherever they are, there are still three points where they fall short.
1. Product Reaching Period to the Customer
When we buy a product from any shopping application, it is delivered to the customer after at least 2 days. This delivery time is usually seen in products purchased from another city or products purchased from abroad. In addition to the elapsed time, since the products arrive by cargo and there are dozens of products in these cargo vehicles, damages can be observed in the cargoes.
2. Product Return Process
After the products reach the customer, if the customer wants to return the product, if the return request is approved within 10-15 working days, the money is deposited in their accounts and this time is quite high today. In addition to these, you have to go to the cargo branch and deliver your cargo, which is a waste of time for the customer.
3. Product Trial Process
Since the customer cannot see how the clothes will stand on himself, the products are usually returned without trying when they reach the customer.
There are a few important points that we will use in our application to solve these problems. First of all, Kloti will take the orders to the customers from any clothing store in their province. Since motor couriers will carry out this process, the traffic problem will be solved in this way and the desired order will be delivered to the customer on the same day. In addition, the product will be purchased as much as the load capacity of the motorcycle and the cargo will be ensured to reach the customer in a safe manner. As for the return process of the product, if the customer wants to return the product, he can contact customer service and return it to the courier who will come to the customer's address the next day. Kloti will receive all purchases in cash only, with payment at the door from the customer. In this way, if the customer wants to return the product, he will not wait for the money to be deposited in his bank account and the courier who comes for the return will be able to give the customer his money in cash at that moment. As for the "Product Trial Process", which is another problem, customers will be able to try on the clothes they want in real time with the AR software included in Kloti before purchasing the product.
1.3 Glossary
2. OVERALL DESCRIPTION
In this section, the components needed by the application and the basics of the application are explained in detail.
2.1 Product Perspective
Kloti, the mobile shopping application, aims to enable its users to buy the clothes they want from their mobile phones easily and by trying the product with AR software. Our product will serve 2 different types of users. The first of these is the customer (the person who will buy the product) and the second is the courier (the person who will deliver the product to the customer). There will be two different interfaces for these two cases.
2.2 Memory Constraints
Since not much data will be kept in the mobile application, a ram of 100 MB will be needed. Also, the application will need at least 200 MB of free space.
2.3 Operations
Users are divided into two as customer and employee, and different functions are allowed for each user type. The operations that customers can see/perform at first will then be explained in detail, respectively, followed by the operations that employees can see/perform.
Customers will be able to see the options to register, login, shopping cart, edit profile and catalog.
Register: In this section, the customer must register in our firebase database, which is used by the application and provided by Google. In this way, they will be able to create their own profiles.
Login: After the customer registers to the application, they must enter the e-mail addresses and passwords they used while registering on the "login" screen in order to log into their accounts. In this way, they will be able to start shopping through the application.
Shopping Cart: In this section, the customer will be able to see the product he bought from the catalog. If desired, the product can be removed from the cart.
Edit Profile: If the customer wants to change the information he entered while registering, he will be able to change it through this section.
Catalog: It is the part where the customer can see the clothes. In this section, the customer will be able to examine the clothes he likes in detail.
Employees will be able to log in, order accept/reject, google maps, edit profile, activity status and previous orders.
Login: Employees will be able to log in to work in our application with their email addresses and passwords they have received from our company.
Order Accept/Reject: Employees can accept or reject any order they want.
Google Maps: Employees will be able to see their own location and the location of their customers from the map section.
Edit Profile: Employees will be able to edit their information.
Activity Status: Employees will be able to notify the application when they are available to take orders and when they are not.
Previous Orders: Employees will be able to see the orders they have fulfilled before.
2.4 Product Functions
Register: Allows users to register to the application.
Login: Allows users to log into their account in the app.
Shopping Cart: Users can add the selected clothes to the shopping cart before making the payment.
Edit Profile: Allows customers to edit their profile.
Catalog: The menu where customers can see the clothes.
Login: Allows employees to log into the application.
Order Accept / Reject: Employees can accept or reject their orders
Google Maps: Employees can see where the order came from and their own location.
Edit Profile: Employees can edit their profiles.
Activity Status: Employees can make themselves online during working hours.
Previous Orders: Allows employees to see the orders they have delivered.
2.5 User Characteristics
2.5.1 Customers
Customers are expected to have an intermediate level of knowledge of today's mobile applications.
2.5.2 Employees
Employees are expected to have the ability to read google maps and have a high level of mobile application knowledge.
All user types should have an intermediate level of Turkish in order to use the application.
3. REQUIREMENTS SPECIFICATION
3.1 External Interface Requirements
3.1.1 User Interfaces
Our application will have 2 different interfaces for customers and employees. All interfaces will be easy and understandable to use.In both interfaces, the user will be able to access the desired action from the hamburger menu.Both interfaces will have login,logout and profile management screens.Employees will have a map in their interface and employees will be able to see which order zone they are in.In addition, when the order comes to the employee, the employee will be able to see where the order will go from that map.Also the language of our application will be Turkish.
3.1.2 Hardware Interfaces
Our application will work on IOS and Android as a mobile operating system.
3.1.3 Software Interfaces
Since we will use Flutter in our application, it will be cross-platform.We will use Firebase developed by Google for data storage.We will use GPS for location services in our application.
3.1.4 Communication Interfaces
Users must be connected to the internet to use the application.
3.2 Functional Requirements
3.2.1 Customer Use Case
Use Case:
- Sign Up
- Login
- Profile Management
- Choose a catalog
- Give an order
- Logout
Diagram:
Figure 1:Customer Use Case
Brief Description:
Customer diagram shows the actions that the customer can perform while using the mobile application.Even if the customer does not log in to the application,can see and examine the catalogs and the products in the catalogues.The customer can execute the following functions:Sign Up,Login,Profile Management,Choose a catalog,Give an Order,Logout.
Initial Step by Step Description:
1. Customers can register to the application by entering their personal information (name, surname, address, e-mail, phone number) and creating a password.
2. Customers must use their email and password to log in to the application. After entering the information, they must successfully pass the Captcha Verification.
2.1 If Captcha Verification is unsuccessful, a warning message will appear on the screen. 2.2 If the password or email are invalid, the customer should re-login.
3. After successfully logging into the app ,customers can change their phone number, password and address or view their profile from their profile page.
4. Customers can choose products from the catalog.
4.1 If the customer is not logged in to the application,the customer can select a product from the catalog, but must log in to add it to the shopping cart.
5. Customers can try the product they want to buy with AR, then add the product to the shopping cart.
5.1 If the customer does not want to try the product,can add it directly to the shopping cart.
6. Customers can edit the shopping cart and add multiple products.
6.1If the customer does not like the product, can remove it from the shopping cart.
7. If the customer likes the product, the customer chooses the address to which the order will be sent and confirms the order with a cash payment method.
7.1 If the customer cancels the order, it returns to the shopping cart.
8. The customer can log out of the account at any time.
3.2.2 Employee Use Case
Use Case:
- Login
- Profile Management
- Approval Order
- View Order
- Show Status
- Logout
Diagram:
Figure 2:Employee Use Case
Brief Description:
The Employee diagram explains the operations Employee can perform Login,Profile Management,Approval Order,View Order,Show Status and Logout.
Initial Step by Step Description:
-
Employees login system with their username and given password then employees click login button for login system. 1.1 If employees enter the wrong information system, send the message “ try again”. 1.2 If Employees can login successfully ,the system confronts the main menu to the Employee.
-
Employees can change their information: phone number,username,password. 2.1 Employees select profil management in the main menu and they select edit information and they can change. 2.2 They save new information with the click save button in the profile management page.
-
Employees can approve orders when clicking the approval button in the main menu. 3.1 If Employees approve an order they see a detailed order. 3.2 If Employees do not approve ,employees continue to search order.
-
Employees can view orders when clicking the approval button in the main menu. 4.1 Employees can see who is ordered,what is it ordered,and thecustomer ‘s address phone number.
-
Employees can view the status of the order, enter information such as whether it was delivered or on the way to the system. 5.1 If employees deliver the product, employees click the work done button and then write which date delivers the product to the customer in the order page. 5.2 If the employees do not deliver the product, they write the status of the order on the order page, such as preparing or on the way.
-
Employees can logout in the system. 6.1 If employees click the logout button in the main menu employees logout system.
3.3 Performance Requirements
There are no version restrictions for iOS users. For Android users, a mobile phone or tablet with at least Android 11.0 is required.
3.4 Security Requirements
We aim to take care to protect the personal information of all users registered in our application. Only the developers of the application will have access to the home addresses, phone numbers and e-mail addresses of the users. In addition, our application does not accept easy-to-guess passwords to keep users' accounts safe.
3.5 Design Constraints
This application is designed so that customers can try the products they want to buy while shopping online.It is also aimed to be a source of income for people who want to earn money by being a courier. An internet connection is required to use the application.
3.6 Software System Attributes
3.6.1 Portability
This application can be used on mobile phones and tablets with both Android and IOS operating systems, so users must download the application from Google Play Store and App Store to use the application.
3.6.2 Performance
It is planned that the user will be able to use the application for a long time.
3.6.3 Adaptability
It is important that the application is updated every season because clothing brands offer their new products for sale at the beginning of the season.
3.6.4 Reliability
Customers will be able to return the clothes they purchased within 15 days when they encounter a problem.
3.6.5 Security
Captcha Verification will be used while users are logging in, thus verifying that the user trying to login is human.
3.6.6 Maintainability
Taking into account the demands of the users, the application can be updated and new features can be added to the application.