Introduction
Nowadays, the flights are getting cheaper, and verify the slogan of AirAsia, “Everyone can flight”. At the same time, it creates a new job which are freelance retail consultant. The freelance retail consultant is a seller that can travelling around the world and do the purchasing business.
The current practice for the seller is they post the item in their social network like WeChat, Facebook and Instagram to ask who want to buy it before travelling and when travelling. But this is not enough to attract more people due to their friend are limited. So, they will join a lot of purchasing group to let more people to notify the information. Besides that, when they communicate in the group chat, there are too messy and hard to maintain because the speed of the message dissemination is fast, 2 minutes can reach more than hundreds of messages. If the seller need to check back who are interested, he/she need to roll back and find. That is not user friendly, because the purpose of these social network is not doing the business, it uses to connected the friendship.
So, I want to create an application to let everyone can become a freelance retail consultant as long as you have to travel. Before going to travel, you can create a new event say that you want to go to selected country and create an item list say who want to buy then click booking.
The benefit for the seller is the application will collect the buyer info like name, address, phone number, so the seller does not need to write down the information again. When the seller in came back to their country, he/she can use the barcode scanner to update the courier tracking number.
Project Goal
To let seller easily track items and manage the buyer information
To make it easier for buyers to find the items they need
Personal Objective
The reason that I choose to develop an application as my Final year project because the technology is growing faster, and everyone must have at least one smartphone. I realise that develop an application is the huge market, how many the smartphone in the market, then that mean how many user you can arrive. So based on the title, I want to build a platform that allows the user communicate with the seller. In this project, I can learn new knowledge. Although I know that this is a big challenge for me, because I do not have any experience in the development of IOS applications. But I want to challenge this title and hope through develop this project can enhanced my IOS development skill.
Literature review
In this session, I am going to explore the researches related to my project that have been conducted by other academics previously. Group Buy is an IOS application which comprises Swift, NoSQL, MVC, Git and JSON.
Mobile apps
In 2015, 1 billion smartphones will be sold. That’s twice as many as the number of personal computers, according to this infographic generated for the by the University of Alabama at Birmingham’s Online Masters in Management Information Systems. Right now, the average mobile app user spends more than 30 hours a month on more than two dozen apps. That’s a lot of people spending a lot of time with their noses stuck in apps. Given that 46 percent of app users report having paid for their apps, that’s big money, too. By 2017, its expected that over 268 billion downloads will generate $77 billion worth of revenue.
Swift
Swift is a programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS and Linux. Swift is designed to work with Apple’s Cocoa and Cocoa Touch framework. Swift was introduced at Apple’s 2014 Worldwide Developers Conference and constantly updated. Swift 3 is the newest version in 2017. According the TIOBE index ranking of popular language, Swift in 3 years to qualify at top 10.
MySQL
A database is a structured collection of data. It may be anything from a simple shopping list to a picture gallery or the vast amounts of information in a corporate network. To add, access, and process data stored in a computer database, you need a database management system such as MySQL Server. Since computers are very good at handling large amounts of data, database management systems play a central role in computing, as standalone utilities, or as parts of other applications.
MVC design pattern
Model View Controller also known as MVC, is a framework model, it is mandatory to make the application of the input, processing and output separately. Model is the central component of the pattern, it directly manages the data, logic and rules of the application. View is the output representation of information, such as bar chart, text message and picture. Controller is the connection between Model and View.
Git
Git is a version control system(VCS) for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source code management in software development, but it can use to keep track of changes in any set of files.
JSON
JSON short for JavaScript Object Notation, is a text-based, lightweight and easy way for storing and exchanging data. It’s commonly used for representing structural data and data interchange in client-server applications. A lot of the services we use every day have JSON-based APIs. Most of the iOS apps including Twitter, Facebook and Flick send data to their backend web services in JSON format.
FIREBASE
Firebase is a cloud services provider and backend as a service(BaaS) company based in San Francisco, California. The company makes a number of products for software developers building mobile or web applications. Firebase was founded in 2011 by Andrew Lee and James Tamplin and launched with a realtime cloud database in April 2012.
Firebase’s primary product is a realtime database which provides an API that allows developers to store and sync data across multiple clients. The company was acquired by Google in October 2014.
Methodology
The model that I choose to use in my final year project is Incremental Model. The reason that I choose it because I am learning a new technology and the time is limited and I need to release the first prototype after 2 months.
So, what is Incremental Model. As with the building, the software is built step by step. In the incremental model, the software is designed, implemented, integrated and tested as a series of incremental components, each of which is composed of code blocks that provide a specific function by a variety of interacting modules.
The incremental model does not deliver a complete product that can be run at all stages, but rather delivers a runner that satisfies a subset of customer needs. The whole product is broken down into several components, the developer to deliver the product one by one, the advantage of doing so is that the software development can be better adapted to change, customers can continue to see the development of software, thereby reducing development risk.
The benefit is this model is more flexible, less costly to change scope and requirement. It also easier to test and debug during a smaller iteration.
1. Requirements: A requirement phase involves in collection of requirements that are needed to develop the software for analyzing. Requirements phase goes on until the complete requirements are gathered and analyzed. Once the requirements are gathered for the first phase.
2. Design: In this phase, the system and software design is prepared from the requirement specifications which were studied in the first phase. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. The system design specifications serve as input for the next phase of the model.
3. Development: On receiving system design documents, the work is divided in modules/units and actual coding is started
4. Testing: The individual modules are combined together to form an integrated software and testing phase starts from the scratch.
5. Implementation: After successful testing the product is delivered / deployed to the customer for their use.
DESIGN
DFD diagram
Context Level
DFD diagram 0
DFD Diagram 1 User System
DFD Diagram 1 Event System
DFD Diagram 1 Transaction
DFD Diagram 1 Chat System
ER diagram
Class diagram
Use case diagram
User System
Event System
Transaction System
Chat System
Use case description
User System
Use case: Register as member (User System)
Overview: This case describes how the user register as a member.
Pre-conditions: –
Post-conditions:
1. Successful condition
a. User has registered as a member and member account is created.
Event
Response
1
User enter the application
Different available alternative displayed.
2
Select Sign up
Prompt Sign up UI
3
Enter all the request information.
Perform information validation.
4
User account register successfully.
Member account is created.
Extensions
1
Invalid Information
a. Display warning message to reject the details.
b. Request re-enter information.
Use case: Register as seller (User System)
Overview: This case describes how the member register as a seller.
Pre-conditions: The login user must be member.
Post-conditions:
1. Successful condition
a. User has registered as a seller.
Event
Response
1
User login to application.
a. Perform user account validation.
b. Different available alternative displayed.
2
User select become a seller.
Different available alternative displayed.
3
User upload the requirement document.
Perform documentation validation.
4
User upload successfully.
Database record the information.
Extensions
1
Invalid user account
a. Message “Invalid Information” has displayed.
Use case: Edit information (User System)
Overview: This case describes how the member edit personal information.
Pre-conditions: The login user must be member.
Post-conditions:
1. Successful condition
a. User has successfully update personal information.
Event
Response
1
User login to application.
a. Perform user account validation.
b. Different available alternative displayed.
2
User select personal information.
Different available alternative displayed.
3
User select update personal information.
–
4
Edit the personal information.
Perform information validation.
5
User upload successfully.
Database record the information.
Extensions
1
Invalid user account
a. Message “Invalid Account/ password” has displayed.
4
Invalid information
a. Message “Invalid information” has display
b. Resume step 4
Use case: Add seller as favorite (User System)
Overview: This case describes how the member add seller as favorite (User system)
Pre-conditions: The login user must be member.
Post-conditions:
1. Successful condition
a. User has successfully add seller as favorite.
Event
Response
1
User login to application.
a. Perform user account validation.
b. Different available alternative displayed.
2
User select a seller
Different available alternative displayed.
3
User select add as favorite.
Different available alternative displayed.
4
User add successfully.
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
Use case: Upload Identity documentation (User System)
Overview: This case describes how the member upload identity documentation to request become a seller
Pre-conditions: The login user must be member.
Post-conditions:
1. Successful condition
a. User has successfully submit the seller identity information.
Event
Response
1
User login to application.
Perform user account validation.
Different available alternative displayed.
2
User select “become seller”
Different available alternative displayed.
3
User select fill in all the information and select document to upload.
–
4
User submit successfully.
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
Use case: Check Identity documentation (User System)
Overview: This case describes how the administrator approve user to become a seller
Pre-conditions: The login user must be Administrator.
Post-conditions:
1. Successful condition
a. Administrator has successfully approve the user request.
Event
Response
1
Administrator login to application.
Perform user account validation.
Different available alternative displayed.
2
Administrator select “Verify System”
Different available alternative displayed.
3
Administrator select User information.
Different available alternative displayed.
4
Administrator select “Approve”
–
5
Administrator update the database successfully.
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
Event System
Use case: Searching (Event System)
Overview: This case describes how the user search the keyword as item name, location or username.
Pre-conditions: The login user must be member.
Post-conditions:
1. Successful condition
a. User has successfully search the keyword.
Event
Response
1
User login to application.
Perform user account validation.
Different available alternative displayed.
2
User select search.
Different available alternative displayed.
3
User enter the keyword into the search field.
–
4
User submit keyword.
–
5
User get the searching result successfully.
–
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
4
Invalid keyword
Message “Keyword not found”
Use case: Write Comment (Event System)
Overview: This case describes how the user write an comment on a item page.
Pre-conditions: The login user must be member.
Post-conditions:
1. Successful condition
a. User has successfully write the comment.
Event
Response
1
User login to application.
Perform user account validation.
Different available alternative displayed.
2
User select an item.
Different available alternative displayed.
3
User enter the comment into the comment field.
–
4
User submit comment.
–
5
User submit comment successfully.
Database record the comment.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
Use case: Add to cart (Event System)
Overview: This case describes how the user add an item to cart.
Pre-conditions: The login user must be member.
Post-conditions:
1. Successful condition
a. User has successfully add item to cart.
Event
Response
1
User login to application.
Perform user account validation.
Different available alternative displayed.
2
User select an item.
Different available alternative displayed.
3
User enter quantity.
–
4
User select add to cart.
–
5
User add item successfully
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
Use case: Create an Event (Event System)
Overview: This case describes how the seller create an event.
Pre-conditions: The login user must be Seller.
Post-conditions:
1. Successful condition
a. Seller has successfully create an event.
Event
Response
1
Seller login to application.
Perform user account validation.
Different available alternative displayed.
2
Seller select create event button.
Different available alternative displayed.
3
Seller fill in the information.
–
4
Seller click submit.
–
5
Seller create an event successfully.
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
4
Invalid information
Message “There are some invalid information, Please try again.”
Use case: Add an item to event (Event System)
Overview: This case describes how the seller add an item to event.
Pre-conditions: The login user must be Seller.
Post-conditions:
1. Successful condition
a. Seller has successfully add an item to event.
Event
Response
1
Seller login to application.
Perform user account validation.
Different available alternative displayed.
2
Seller select specify event.
Different available alternative displayed.
3
Seller select add item.
Different available alternative displayed.
4
Seller fill in all the information.
–
5
Seller select upload photo
Photo Album will be display.
6
Seller select the selected photo then click done.
–
7
Seller click submit.
–
8
Seller create an event successfully.
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
7
Invalid information
Message “There are some invalid information, Please try again.”
Use case: Edit an item in event (Event System)
Overview: This case describes how the seller edit an item in the event.
Pre-conditions: The login user must be Seller.
Post-conditions:
1. Successful condition
a. Seller has successfully edit an item..
Event
Response
1
Seller login to application.
Perform user account validation.
Different available alternative displayed.
2
Seller select event.
Different available alternative displayed.
3
Seller select item.
Different available alternative displayed.
4
Seller select edit item information
Different available alternative displayed.
4
Seller fill in all the information.
–
5
Seller select upload photo
Photo Album will be display.
6
Seller select the selected photo then click done.
–
7
Seller click submit.
–
8
Seller update the item information successfully.
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
7
Invalid information
Message “There are some invalid information, Please try again.”
Transaction System
Use case: Make Transaction (Transaction System)
Overview: This case describes how the user make transaction.
Pre-conditions: The login user must be User.
Post-conditions:
1. Successful condition
a. User has successfully make transaction.
Event
Response
1
User login to application.
Perform user account validation.
Different available alternative displayed.
2
User select cart.
Different available alternative displayed.
3
User select confirm cart.
Different available alternative displayed.
4
User select upload document.
Photo Album will be display.
4
User select photo and click done.
–
5
User click submit.
–
6
User select the selected photo then click done.
–
7
User click submit.
–
8
User submit the cash transfer receipt successfully.
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
5
Invalid information
Message “There are some invalid information, Please try again.”
Use case: View Transaction Record (Transaction System)
Overview: This case describes how the user view transaction record.
Pre-conditions: The login user must be User.
Post-conditions:
1. Successful condition
a. User has successfully view transaction record.
Event
Response
1
User login to application.
Perform user account validation.
Different available alternative displayed.
2
User select transaction record.
Different available alternative displayed.
6
User select the selected photo then click done.
–
7
User click submit.
–
8
User submit the cash transfer receipt successfully.
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
5
Invalid information
Message “There are some invalid information, Please try again.”
Use case: Confirm Booking (Transaction System)
Overview: This case describes how the seller confirm booking.
Pre-conditions: The login user must be Seller.
Post-conditions:
1. Successful condition
a. Seller has successfully make transaction.
Event
Response
1
Seller login to application.
Perform user account validation.
Different available alternative displayed.
2
Seller select transaction record page.
Different available alternative displayed.
3
Seller select one record to view detail.
Different available alternative displayed.
4
Seller select confirm on selected record.
Database record the information.
Add need to buy item to to-do-list.
5
Seller confirm the booking successfully.
Database record the information.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
Use case: Cancel Booking (Transaction System)
Overview: This case describes how the seller cancel booking and refund money.
Pre-conditions: The login user must be Seller.
Post-conditions:
1. Successful condition
a. Seller has successfully cancel booking and refund money.
Event
Response
1
Seller login to application.
Perform user account validation.
Different available alternative displayed.
2
Seller select transaction record page.
Different available alternative displayed.
3
Seller select one record to view detail.
Different available alternative displayed.
4
Seller select cancel booking at selected record.
–
5
Seller select upload picture.
Photo Album displayed.
6
Seller select picture and click done.
–
7
Seller click submit.
–
5
Seller cancel the booking successfully.
Database record the information.
Item remove from to-do-list
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
Chat System
Use case: Send Message (Chat System)
Overview: This case describes how the user chat with others.
Pre-conditions: The login user must be Seller.
Post-conditions:
1. Successful condition
a. Seller has successfully send an message.
Event
Response
1
Seller login to application.
Perform user account validation.
Different available alternative displayed.
2
Seller select chat page.
Different available alternative displayed.
3
Seller select one person.
Different available alternative displayed.
4
Seller type message.
Database record the information.
Add need to buy item to to-do-list.
5
Seller click send.
–
6
Seller send the message successfully.
Database record the information.
Other side received the message.
Extensions
1
Invalid user account
Message “Invalid Account/ password” has displayed.
Activity Diagram
User System
Event System
Transaction System
Chat System
Sequence Diagram
User System : Admin
User System: User – Register
Event System : Seller
Event System : User
Transaction System : User
Transaction System : Seller
Chat System
TESTING