Skip to content

jtmlock/MemeGenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MemeGenerator

Video walkthrough of working parts: https://www.youtube.com/watch?v=VUkteWFkY00&feature=youtu.be

CSN iOS 238 Spring Profe

MEME GENERATION

Unit 8: Group Milestone - Meme Generator - README Example

:::info Unit 8 Group Milestone - Meme Generator - Submission. :::

MEME GENERATOR

Table of Contents

  1. Overview
  2. Product Spec
  3. Wireframes

Overview

Description

Allows .

App Evaluation

  • Category: Social Networking

  • Mobile: This app will be developed for Mobile

  • Story: Uses pictures and text, to display and/ or create Memes. The User will be able to create Memes, like Memes, and have a friends list.

  • Market: Any individual could choose to use this app, and to keep it a safe environment, people would be organized into a friends lists

  • Habit: This app could be used as often or infrequently as the user wanted depending on how deep their social life is, and what exactly they're looking for.

  • Scope: First we would start with pairing people based on music taste, then perhaps this could evolve into a music sharing application as well to broaden its usage. Large potential for use with Facebook, Reddit, Instagram, Snapchat, and other image posting social media outlets.

Product Spec

1. User Stories (Required and Optional)

Required Must-have Stories

  • User logs in to access previous Memes and preference settings -Update Login complete
  • User can upload a picture and lay over with text.
  • User able to like, and favorite memes.
  • Profile pages for each user
  • Settings (Accessibility, General, etc.) -Update Settings screen created -Persistant Log in -User is able to switch between camera and album -User is able to logout

User Story Update-

  • Users are able to open camera from Mobile device of Photo library from simulator


User Story Upate-

  • Users are able to load images through parse server, with comments and scroll through them


Optional Nice-to-have Stories

  • Able to search for friends
  • User can share Memes.
  • Light Mode Dark Mode Toggle
  • Forgot password feature

2. Screen Archetypes

*Splash

  • Login
  • Register - User signs up or logs into their account
    • Upon Download/Reopening of the application, the user is prompted to log in to gain access to their profile information to be properly matched with another person.
  • Profile / Setting Screen
    • Allows user to upload a photo and fill in information that is interesting to them and others * this is Meme Generator *
  • Meme Scroll Timeline Screen.
    • Allows user to be able to find friends and add them.

3. Navigation

Tab Navigation (Tab to Screen)

  • Splash
  • Login
  • Memes
  • Settings / Profile
  • Generator

Flow Navigation (Screen to Screen)

  • Forced Log-in -> Account creation if no log in is available
  • Meme Selection Scroll (Or Queue if Optional)
  • Generator ->
  • Profile -> Text field to be modified.
  • Settings -> Toggle settings

Wireframes


[BONUS] Digital Wireframes & Mockups


[BONUS] Interactive Prototype


Gif of Progress


Gif of Progress showing switching between camera and Album with log out feature


Schema

Meme Generator - Schema Design

  1. User
  2. Posts - Memes
  3. Comments
  4. Likes
  5. Follow
  6. Text
  1. User
    • objectId
    • createdAt
    • Updated password At
  2. Post - Meme
    • objectId
    • Author
    • Image
    • Caption
    • Comment Count
    • Likes Count
    • createdAt
    • UpdatedAt
  3. Comment
    • objectId
    • Author
    • createdAt
    • UpdatedAt
  4. Likes
    • objectId
    • Author
    • createdAt
  5. Follow
    • objectId
    • Author
    • createdAt
  6. Text
    • objectId
    • Author
    • createdAt

Data Model

PropertyTypeDescription
Model User
objectId String unique User ID
createdAt DateTime date when login was created (default)
UpdatedAt DateTime date password was changed
Model Post
objectId String Unique ID for the User post (default)
Author pointerToUser image Author
Image File image that user posts
Caption String meme caption by author
Comment Count Number number of comments that have been posted
Likes Count Number number of likes that have been posted
createdAt DateTime date when post was created
UpdatedAt DateTime date when meme was last updated
Model Comment
objectId String unique ID for the comment
Author pointer to User comment Author
createdAt DateTime date when the comment was created
UpdatedAt DateTime date if/when the comment was updated
Model Likes
objectId String unique Like ID
authorWho pointerToUser Like author
createdAt DateTime date Like was created
Model Follow
objectId String unique Follow ID
authorWho pointerToUser Follow author
createdAt DateTime date Follow was created
Model Text
objectId String unique Text ID
authorWho pointerToUser Text author
createdAt DateTime date Text was created
Network Requests
CRUD HTTP VERB Example
Create POST Creating a new post
Read GET Fetching posts for user’s feed
Update PUT Changing a user’s profile image
Delete DELETE Deleting a comment

Network Requests

-Login Screen
               

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...
}
}

Network Requests

-Login Screen
(Read/GET) Query Login
(Create/POST) Create User Login
-Meme Feed
(Read/GET) Query post where user is Author
(Create/POST) Create a new like / comment on Post
(Delete/DELETE) Delete existing like / comment
-Profile
(Read/GET) Query logged in user object
(Update/PUT) Update user profile image
-Generator
(Read/GET) Query images
(Create/POST) Create a new Meme

OPTIONAL Heroku Endpoints

HTTP VERB Endpoint Decription
POST https://hc-central.heroku.com/auth/ Link the new add-on to your Heroku user account
POST /connections//actions/import Import a mapping configuration
GET /connections/ Monitor the connection and mapping status
POST /connections//actions/pause Pause the connection
POST /connections//actions/resume Once Paused, it can be Resumed
POST /connections//actions/restart Restart the connection
POST /mappings//actions/reload Reload a mapping
GET /mappings/ Get mapping details
POST /connections//mappings Create a new Mapping
PUT /mappings/ Edit existing mapping
DELETE/mappings/ Delete existing mapping

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors