Design Document - AnniePawl/bARTerRepo GitHub Wiki
My App Name
bARTer is a platform where users can post, discover, and trade handmade items. Items cover a wide range and include jewelry, ceramics, paintings, photographs, fiber arts, sculptures, soaps, knick-knacks, and toys. Not only does this space facilitate these transactions, it also encourages artists to support each other and builds a sense of community. Ultimately, it is a community-based application. β
Audience
bARTer caters to artists who are interested in trading a unique handmade item for another. Unlike Etsy, bARTER focuses on exchanging goods in good faith, without money. It is up to the artists to discuss the parameters of their trade and agree upon something that feels right for them. Thus, the audience that bARTer attracts is supportive, cooperative, communicative and community-based.
β
Experience
Launch Screen bARTer will capture its audience with a bold, simple, and relevant splash screen. This screen will welcome the users every time they open the app, which will promote familiarity and reinforce the bARTer brand.Login Screen/ Registration Screen bARTer's login screen will clearly differentiate between "login" and "register" as not to confuse new users. If possible, it will allow users to login via an external account, like Facebook or Google to make the process more seamless. New users will be asked to create a username, but users can always log in with their personal email address. A password checkbox will allow users to see the password they have entered (if they want to). There will be a clear "Forgot your password?" link for users to use. Additionally, a βkeep me signed inβ option will allow users to return to the app with ease.User Profile Users create a unique profile to showcase the items they have to offer, to share a bit about themselves with others, and to list the types of items they are particularly interested in trading for. Handmade items are visually displayed in a scrollable collection view. A "custom item" option is also available to serve users who have something very specific in mind. Becuase bARTer is a supportive, community-based application, profiles are meant to help artists get to know each other and to create connections. Users can "favorite" an artist's item to keep it on their radar. Here they can connect with an artist through the "message" button to discuss the parameters of their trade further. These parameters are flexible, making it easy and convenient for people of all backgrounds to participate. While the parameters are customizable, a form is provided to guide the users thru the experience. This form includes fields like, "item name", "timeline", "mailing address". Participants are free to contact each other at any point to adjust the parameters of their trade.Home Page bARTer's home screen is populated by an assortment of items displayed in a collection view. This page is meant to showcase a random selection of handmade goods so that users can stumble upon something new and unexpected. This page is visually stimulating and easy to navigate. It changes routinely to give every artist the chance to be featured. If an image is clicked, the view will transition to that artist's profile. From there, users can choose to follow or contact that artist, as well as favorite an item to check out later.Discover Page The discover page is meant for users to filter through all the items available on the app. This page includes clearly defined tabs (in table view) like jewelry, ceramics, illustrations, etc. These tabs will have sub-categories to help users refine their search even further.Favorites Page The favorites page is an archive of items that users favorited. Items are displayed in a simple, scrollable collection view. Images can be clicked to reveal details/ take users back to an artist's profile page.Messages Page The Message Page is modern and simple. It features artists' profile pictures on the right, followed by a snippet of text from the previous message. Users can click on a profile image to open a larger view and continue a conversation.
β
Technical
Models
[What data are we dealing with? What classes will we create for that data?] β
Views
[What custom views do we need to create? Include pictures of your prototypes/sketches!] β
Controllers
[What controllers will we need? What will they do?] β
Other
[Any other frameworks / things we will need? Helpers? Services?] β
Daily Milestone
Mon January 23, 2018 - Paper Prototype & Design Document
- Complete Paper Prototype
- Complete Design Doc draft
Tues January 24, 2018 - Get started with Firebase on iOS
- Install Firebase & Cocoapods
- Incorporate Firebase into Xcode project
- Build Login Page β
Wed January 25, 2018 -
[List of tasks needed to polish and ship to the app store]
- task 1
- task 2
- task 3