---
# System prepended metadata

title: '**RUMGO**'

---

# **RUMGO**

## Table of Contents
1. [Overview](#Overview)
1. [Product Spec](#Product-Spec)
1. [Wireframes](#Wireframes)
2. [Schema](#Schema)

## Overview
### Description
RUMGO is a free social networking service that allows registered members to publish short posts to the local University members who are registered to the service and view other users posts and give the a UpVote or DownVote. RUMGO users can post small paragraphs, pictures  and videos, follow other users and look at their previous posts. It is Esentially a College text based social media site where User can randomly chat and connect with other users based on mutual preferences. 

### App Evaluation
- **Category:** Social 
- **Mobile:** Web and mobile. Twitter like app. Text based Social media.
- **Story:** Allows users to share their lives with College peers subscribed to the service through short paragraphs, pictures and video.
- **Market:** Anyone that is enrolled in a supported college or University.
- **Habit:** Users can post and see posts throughout the day.
- **Scope:** Colleges and univesities students based on mutual preferences and common friends.

## Product Spec

### 1. User Stories (Required and Optional)

**Required Must-have Stories**

* User logs in to access previous chats and preference settings
* Profile pages for each user
* User can search for his friends and suggested people he might know
* Page of most popular posts based on upvotes/DownVotes by the community.
* Settings (Accesibility, Notification, General, etc.)

**Optional Nice-to-have Stories**

* Users distinguished by Academic institution
    * Identified by Major
* Pinned on top of the list of post the user most upVoted post
* User's posts divided by media type. Navigation by tabs. 

### 2. Screen Archetypes

* Login Screen
    * User can login
* Registration Screen
    * User can create a new account
* Home
    * User can view a feed of posts
    * User can like, comment or upvote posts
* Creation
    * User can add a new post to the private or public feed
* Search
    * User can search for other users, groups or posts
* Chat
    * User can receive and send messages to their peers
* Profile
    * User can view his list of followers
    * User can view his list of following
    * User can view his list of posts
    * User can update his personal information

### 3. Navigation

**Tab Navigation** (Tab to Screen)

* Home
* Search
* Creation
* Chat

**Flow Navigation** (Screen to Screen)

* Login Screen
   * Home
* Registration Screen
   * Profile
* Creation Screen
   * Home (after finishing posting)

## Wireframes
![](https://imgur.com/gqbn9FB.png)


### [BONUS] Digital Wireframes & Mockups
![](https://i.imgur.com/Fh1Qipf.png)

### [BONUS] Interactive Prototype

## Schema 

### Models
#### Post

   | Property      | Type     | Description |
   | ------------- | -------- | ------------|
   | objectId      | String   | unique id for the user post (default field) |
   | user        | Pointer to User| image author |
   | image         | File     | image that user posts |
   | description      | String   |caption by author |
   | commentsCount | Number   | number of comments that has been posted to an image |
   | upVotesCount    | Number   | number of UpVotes for the post |
   | createdAt     | DateTime | date when post is created (default field) |
   | updatedAt     | DateTime | date when post is last updated (default field) |

#### User

   | Property      | Type     | Description |
   | ------------- | -------- | ------------|
   | objectId      | String   | unique id for the user (default field) |
   | username      | String   | name the User will be refered to  |
   | Profile image | File     | image that user wants as its profile image |
   | description   | String   | caption by author |
   | upVotesCount    | Number   | number of UpVotes for the post |
   | createdAt     | DateTime | date when post is created (default field) |
### Networking

* Start Activity
    * (Create/POST) Creating a profile for a new user using college credentials
    * (Read/GET) Query logged in user object

* Post Activity
    * (Read/GET) Query posts where author is another user that is friends of the user. 
    * (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
    
* Message Activity
    * (Create/POST) Create a new message where user is author. This message can be sent to any other user who is subcribed to the application
    * (Read/GET) Query all messages sent to the user

* Profile Activity
    * (Read/GET) Query all posts where user is author
    * (Read/GET) Query all posts liked by the user
    * (Read/GET) Query all the friends that the user has on the application
    * (Update/POST)  Update user profile image and bio section

HackMd file - https://hackmd.io/lSFBUPnQTT6yozpKlR6kFg

Figma File - https://www.figma.com/file/vCqWN21YeQwS6u2vStb5D0/RUMGO-Wireframe?node-id=0%3A1


## Milestone 1 - Unit 10 Progress

Implemented stories:
- [x] Default login activity
- [x] Empty fragments

<img src='https://imgur.com/YYUPpPx.gif' title='Video Walkthrough' width='' alt='Video Walkthrough' />

## Milestone 2 - Unit 11 Progress

Implemented stories:
- [x] Default Post timeline
- [x] Empty Profile

<img src='http://g.recordit.co/e3KCM3k8kV.gif' title='Video Walkthrough' width='' alt='Video Walkthrough' />


## Milestone 3 - Unit 12 Progress

Implemented stories:
- [x] Can navigate effectively to user
- [x] User data is displayed
- [x] Post Have image and buttons
- [x] Menu navigation working

<img src='https://imgur.com/nugvLfv.gif' title='Video Walkthrough' width='' alt='Video Walkthrough' />

<img src='http://g.recordit.co/cKyY4uCqLY.gif' title='Video Walkthrough' width='' alt='Video Walkthrough' />

## Milestone 4 - Unit 13 Progress

- [x] User page displays post by itself and media
- [x] User Page followers displayed as RUMmates
- [x] Posts Display Profile pics with a round shape and username
- [x] Post is stylized with new logos for the buttons and dividers


<img src='http://g.recordit.co/HnjqAQSte6.gif' title='Video Walkthrough' width='' alt='Video Walkthrough' />



