# SMob ## Table of Contents 1. [Overview](#Overview) 1. [Product Spec](#Product-Spec) 1. [Wireframes](#Wireframes) ## Overview ### Description Allow user to create store, view list of stores existed, sale and buy stuffs. ### App Evaluation - **Category:** Business - **Mobile:** This app would be primarily developed for mobile but would perhaps be just as viable on a computer, such as tinder or other similar apps. Functionality wouldn't be limited to mobile devices, however mobile version could potentially have more features. - **Story:** present products online for promotion with the ability to sell and buy more easily - **Market:** Any individual could choose to use this app. All traders in the formal and / or informal sector can present their products, which will be available to any category of people on the market - **Habit:** This app could be used as often or unoften as the user wanted depending on his needs, and what exactly they're looking for. - **Scope:** First user can zap into the list of shops and see their contents, then login or create a shop. ## Product Spec ### 1. User Stories (Required and Optional) **Required Must-have Stories** * User can view a list of store, view Items in a chosen store. * User can sign up. * User can sign in. * User can add items in basket and save or buy. * Vendor can create Store. * Vendor can add items, manage orders and clients. **Optional Nice-to-have Stories** * User can pull down to refresh store timeline and items timeline * After login seller can view list of commande and list of client offline * User will be using the app Communicate directly with the seller * User can choose to receive notification of new items add * Seller User can add a Store Logo and description * Seller User will have marketing option * Create client community * share marketing review and video * User can view all the marketing video and reviews ### 2. Screen Archetypes * Login * Register - User signs up or logs into their account * Basket * Upon selecting items choice users can save chart for later action or buy items at once. * List store screen * Allows user to view store listed. * List items screen * Allows user to view items listed, add to chart, save and buy * Purchase screen * Allows user to review items selected, choose payment method. * Create Store Screen * Lets user create Store. * Store Screen * Lets vendor manage items, orders and clients. * Add items Screen * Lets vendor add items to his store. * Payment notification Screen * notify user about bought item ### 3. Navigation **Tab Navigation** (Tab to Screen) * Login and/or sign up * add to chart * place order Optional: * save chart or purchase **Flow Navigation** (Screen to Screen) * welcome page -> list items or login page, my store * Items Selection -> Login page, Jumps to Chart and/or purchase sheet * login to store -> open store ## Wireframes <img src="https://i.imgur.com/9CrjH1K.jpg" width=800><br> ### [BONUS] Digital Wireframes & Mockups <img src="https://i.imgur.com/lYHn37F.jpg" height=200> ### [BONUS] Interactive Prototype <img src="https://i.imgur.com/AiKfE5g.gif" width=200> ## SCHEMAS ### Models **Store** | Property | Type | Description | | -------- | -------- | -------- | | objectId | String | unique id for the store owner to manage his store (default field) | | name | String | Identifies a store by its name | | phone | String | Allows anyone to contact the store administration | | address | String | provides the physical location of a store | | password | String | Allows a store administrator to manage this store | | email | String | Allows anyone to contact the store administration | | logo_store | File | Allows the SMob users to identify a all the stores by their logo | | updatedAt | DateTime | date when a store is updated (default field) | | createdAt | DateTime | date when a store is created (default field) | **Product** | Property | Type | Description | | -------- | -------- | -------- | | objectId | String | unique id for the product to be identified in a store (default field) | | createdAt | DateTime | date when a product is created in a store (default field) | | updatedAt | DateTime | date when a product is updated in a store (default field) | | category_product | String | Allows to set the category of a product | | image_product | File | Photo file that represent a specific product | | description | String | Text | | price | Number | Buying price of the product in a store at a given time | | selling_price | Number | Selling price of the product in a store at a given time | | qty_product | Number | Items quantity in a given category | **Order** | Property | Type | Description | | -------- | -------- | -------- | | objectId | String | unique id for an order to be identified in a in a transaction (default field) | | product | Pointer | Product that is being sold | | client | Pointer | Client who places the order | | createdAt | DateTime | date of the transaction | ### NETWORKING **List of network requests by screen**