# Seminar Group Project
Original App Design Project - README Template
===
# Culturally Stamped
## Table of Contents
1. [Overview](#Overview)
1. [Product Spec](#Product-Spec)
1. [Wireframes](#Wireframes)
2. [Schema](#Schema)
## Overview
### Description
Culturally Stamped is a visual discovery engine for finding ideas and creative inspo in Black culture like trendy clothing, hairstyles, tasteful recipes, and more. With so many Stamps on Culturally Stamped, you'll always find ideas to spark inspiration. When you discover Stamps you love, save them to boards to keep your ideas organized and easy to find.
### App Evaluation
[Evaluation of your app across the following attributes]
- **Category:** Lifestyle
- **Mobile:** A couple of functions will include a camera feature and audio.
- **Story:** Our friends and peers would appreciate this kind of app because it's a platform that features and highlights any and everything in Black culture.
- **Market:** As of right now, the size and scale of the user base would be locally. Yes, the app does provide hge value to a niche group of people. The apps audience is mainly targeted towards African Americans.
- **Habit:** This addictive, frequently used app is used daily by users who simply want to create or explore more about Black inspo.
- **Scope:** Completing this app will shouldn't be techinically challenging to complete by the end of the program.
## Product Spec
### 1. User Stories (Required and Optional)
**Required Must-have Stories**
* User can register a new account
* User can log in
* User can post Stamps
* User can view and save Stamps
* User can tap on Stamps to see related/ similar Stamps
* User can view their Stamps
* User can edit profile
* User can logout
**Optional Nice-to-have Stories**
* User can create boards to organize their Stamps
* User can view their Stamp boards
* User can create and post videos on their profile
* User can follow other Users
* User can view other user's Stamp boards
* User can send messages and share Stamps
* User can search for Stamps
* User can filter their home feed based on Stamps saved in their boards
### 2. Screen Archetypes
* Register - User signs up
* User can register a new account
* Login - User logs into their account
* User can log in
* Stream - User can scroll through important resources in a list
* User can view and save Stamps
* User can create boards to organize their Stamps
* Detail - User can view the specifics of a particular resource
* User can tap on Stamps to see related/ similar Stamps
* User can create boards to organize their Stamps
* User can view and save Stamps
* Profile - User can view their identity and stats
* User can view their Stamps
* User can post Stamps
* Creation - User can create a new resource
* User can create boards to organize their Stamps
* User can post Stamps
* Settings - User can configure app options
* User can edit profile
* User can logout
### 3. Navigation
**Tab Navigation** (Tab to Screen)
* Stream
* Profile
* Search (optional)
* Messaging (optional)
**Flow Navigation** (Screen to Screen)
* Register - User signs up
* Stream
* Login - User logs into their account
* Stream
* Stream - User can scroll through important resources in a list
* Detail
* Creation - User can create a new resource
* Creation
* Stream
* Profile - User can view their identity and stats
* Detail
* Creation - User can create a new resource
* Settings - User can configure app options
* Settings
* Profile
## Wireframes
[Add picture of your hand sketched wireframes in this section]
<img src="YOUR_WIREFRAME_IMAGE_URL" width=600>
### [BONUS] Digital Wireframes & Mockups
### [BONUS] Interactive Prototype
## Schema
### Models

### Networking
- [Add list of network requests by screen ]
Login Screen:(Read/GET) Query logged in user object.
Profile Screen:(Update/PUT) Update user profile image.
Home Screen:(Read/GET) Query all posts where user is author.
(Create/POST) Create a new like on a post.
(Delete) Delete existing like.
(Create/POST) Create a new comment on a post.
(Delete) Delete existing comment.
Pic/Video upload Screen: (Create/POST) Create a new post object.
- [Create basic snippets for each Parse network request]
let query = PFQuery(className:"Post")
query.whereKey("author", equalTo: currentUser)
query.order(byDescending: "createdAt")
query.findObjectsInBackground { (posts: [PFObject]?, error: Error?) in
if let error = error {
print(error.localizedDescription)
} else if let posts = posts {
print("Successfully retrieved \(posts.count) posts.")
// TODO: Do something with posts...
}
}
- [OPTIONAL: List endpoints if using existing API such as Yelp]