An Easy-to-Use Mobile App for Personal Buy and Sell Intermediate Project Report Code: FYP14016 Group members: Chow Ka Hei, Cheung Chun Man Supervisor: Dr. Wu C Content P.1 Project Objective P.2-3 Project Background P.4 Project Methodology P.5-9 Accomplishment P.10 Future Development Project Objective This project aims at developing an online shopping platform in the form of an Android apps which let users trade their own goods or products easily. At the buyer side, the Android apps should allow users to post the photo of the items onto the platform and add information such as price, keywords, location etc. on it, with just a few simple clicks. Users can sell the product by bidding in the platform too. At the seller side, the apps should allow users to search for the items by keywords, name, seller s name, price, category etc. Users can also follow the items of a specific sellers. The apps can help users calculate the distance and travelling time between the users and the product location set by the seller. More functions like linking this apps to social platform and notifications are what we want to implement too. The most difficult part of the project is that we should follow the habit of modern consumers to develop an apps that attracts them. Therefore, we should study a lot of other apps which have similar functions and improve and integrate the functions into this apps. To conclude, we are targeting on a powerful online shopping apps with various functions which facilitate both sellers and buyers, and this apps should be attractive to modern consumers by the functions. 1
Project Background We referenced some apps that are available in the Google Play Store. Also, we studied the Google Material Design. Group Buying Apps example: BeeCrazy Android Apps Main page Product Page BeeCrazy is a famous Hong Kong group buying company. Its Android apps mainly consists of two pages: a main page that shows all group buying events in a ListView, and if we press one of these events, a product page will be shown with the details of the event and a button to buy product. We think that this layout design is suitable for our online shopping platform apps since it is attractive to users to buy products and it can show information in a good form. Social Platform Apps: Instagram 2
Instagram allows users to post their photos in their wall after logging in. If other users followed him/her, they can see the photos and leave comments on them. Instagram allows users to search photos by hashtag. Hashtag is a method to add keywords on photos. All we need to do is to type #+keywords when we post the photo. Instagram allows users to take photos and add information on the photos by just few simple steps. We think that all functions and user interface design of Instagram are very useful and user-friendly. They are the reason why Instagram is so popular. We can reference to Instagram s function and UI to create our online shopping apps. Google Material Design Google Material Design is a set of rules for developers to design the user interface of the Android apps. The attributes of common Android UI components, such as the margins of a text box, the color of background and the text size, are specified in Google Material Design. We can see that many famous Android apps such as Gmail apps, Facebook apps, Google Drive apps and Google+ follows Google Material Design. We would like to adopt this design in order to improve user experience. 3
Project Methodology An online shopping apps should include a server-side database in order to allow users to read/write data remotely. However, in Android application, JDBC is not supported. To access the database, a common practice is to make PHP files to provide different services with database at the server. Android application can send HTTP request to the PHP web page and get the HTTP response. The data queried by PHP can be formatted as JSON which allows Android application to handle data easily using JSON library. Since JSON data format is small in size, it is suitable to be used in data transfer between server and mobile phone. Images of the product and user are stored at the server for user to download. In order to download them quickly, the images are compressed in Android apps. In order not to download the same image again in each refresh, caching of images to memories and disk is needed. It can be done by using existing open sourced Android apps library. Asynchronous task is used when we need to send HTTP request or upload/download images from the server because it will not block the UI. After finishing the process, the information or the image is loaded to the apps and image will be cached in memories and disk. It can be done by using Android library. List View with dynamic loading is used to list out the products of users. In each loading task, only a fixed number of products information are shown. When user saw the last products, another loading task will be happened to load the next batch of products. It can be done by using existing open sourced Android apps library. 4
Accomplishment 1. Login Page Users can use their own username and password to login to the apps. The login page is located in the setting/profile page. If login is successful, users can see their own profile page. Login status is stored in SharedPreferences file so users can remain logged in. 2. Profile Page Once the users have logged in to Sellfie, it will return to the profile page. This page shows the user information and the posts posted by themselves. Logout button on the top can be used to logout the current account. 5
3. Home Page The home page of the application displays all the posts posted by the users that they follow. Some brief information of the item is listed like the name, price and the seller. 4. Detail Product Page When users click on the post, they can see the detail information of the product. If the product is a bid item, users can bid it by pressing the BID NOW button or if the bid has ended, users are no longer able to bid it. Users can also follow or unfollow the sellers so that the post by sellers will be appeared or disappeared in the home page respectively. 6
5. Bidding Function Every users can bid for an item. Several checks are implemented to improve the accuracy of the biding. First, if one user was already the current winner of the bid, he/she cannot bid it unless the price has changed. Second, in case that a user bid a item that its current price was changed, it will return an error message states that bid is not successful. If nothing wrong happens, user can successfully bid an item. 6. Search Page By entering the search field, users can search the posts that their names match the search field no matter the users are following the sellers or not. It displays all the post in our database. 7
7. Post Page (Fix Price Products) In the post page, users need to fill the name, fix price or bidding, price, introduction and take a photo by camera or choose a photo from gallery. 8. Post Page (Bidding Products) In the post page, users can also select bidding to sell a product. The base price (starting price), bid increment and the duration of the bid are required. 8
9. Database phpmyadmin is used to set up our database. There are total 6 tables in our design: Follow, Keywords, Message, Photo, Product and User. In order to communicate with the database using the Android application, we use HTTP and PHP to transfer data between the client and the server. 9
Future Development Tag products with keywords and categories We would like to allow users to add keywords and select categories on each product. The function may be similar to Instagram s hashtag function. It can facilitate the searching method and buyers can find what they want more easily. Location We would like to allow users to choose the location of delivery of the product. Also, we would like to make a function that buyer can see the distance and the time of travelling from the current location to the location of delivery. Users can know what products are nearer to them in order to have a better intention to buy products. Link with Facebook/google account We would like to allow users to login the apps by Facebook/Google account and allow users to share the product they are interested to friends. Also, users can see which friends are using this apps too and follow their friends in this apps. Notification We would like to notice a user when other users have done some action to him/her or their products status are changed such as being followed, the products being bid and the bidding period of products ended. 10