An app that gathers homeowners, renters, and professionals to discuss home projects with ways to repair or fixes. Users are able to find professionals in their local area.
- Category: Social Networking/Services
- Mobile: Mobile is a fast and easy way for customers and professionals to connect with their needs.
- Story: Creates a platform for demands in the form of home repairs/services which is not readily available in today’s world. By having a streamlined application that can both advertise and fulfill needs, people are more inclined to spread and utilize the application.
- Market: The clients can be anyone who owns or rents a home (mostly adults). The professionals are people who have licenses or certifications related to home/building.
- Habit: This app can be used at least once per year when cleaning up their home, when maintenance is needed or for remodeling projects. It can be used as often to ask questions, give suggestions, or to showcase their home projects.
- Scope: Allow users to browse Q/A on home projects and allow professionals to advertise their services.
Required Must-have Stories
- Login
- Users log in with their username and password
- Log in button disabled when username or password are empty
- Has a button to Sign Up Activity
- Register
- Switches between sign up with User or Professional
- Users can enter to Main Activity immediately after sign up
- Professionals are brought back to Log In Activity after sign up
- Goes back to Log In Activity with back button
- Home
- Users can create posts
- Users can delete their own posts
- Able to pull down refresh
- Able to infinite scroll
- Displays user profile, username, post timestamp, post description, post image, Likes count, Comments count, post solved/unsolved
- Button to go into Detail Post Activity
- Profile image gets into user profile
- Compose button shrinks when scrolled
- Bottom navigation has options to Home and Edit Profile
- Professional has verified check icon next to their username
- Users can input search text with realtime result of posts. Search areas under username, post description, and category/tag.
- Edit Profile
- Users able to edit their information except username, first and last name
- Displays profile image and data from Database
- Log out button in action bar
- Profile (user)
- Basic information of user
- Back button gets back to previous screen
- Profile (professional)
- Verification of identity
- Displays rating
- Basic information and profession
- Back button gets back to previous screen
- Compose
- Popup overlay with a message icon as background
- Category and descriptions are required information
- Camera button to take image. Shows image before being saved.
- Post button disabled if description is empty
- Detail Post
- Back button takes user back to Home Activity
- Action bar displays username of post creator and beginning of description
- Displays similar info as Home Activity
- Full image button shows a popup with the full image
- Tag for its category
- Current user can reply to post, increments comment count
- Current user profile image displays next to reply space
- All related comments are displays for post
- Replied comments displays user profile image, username, description, time difference
- Users can delete their own comments, also decrements comment count
Optional Nice-to-have Stories
- Tips to pop up when open app
- Administration to monitor users and professionals
- Setting
- Choose to show private information or not
- change password
- rating
- upload profile image
- reply to posts
- other users can DM other users
- Search posts
- Professionals can advertise
- Users can search for repair/fix based on their location
- Login
- user can log in
- Register
- user can register for an account for User/Professional (bool), (professional) location
- Home (User)
- Create posts
- menu to categories
- Respond to posts as 'user' tag
- Home (Professional)
- menu to categories
- Answer posts with 'professional' tag
- Unable to create new posts
- Profile (user)
- Basic information of user
- Profile (professional)
- Verification of identity
- Basic information and profession
- Detail
- other user or professional can reply
- image (not required)
- question
- report functionality
Tab Navigation (top) (Tab to Screen)
- Categories
- logout
Tab Navigation (bottom) (Tab to Screen)
- Home
- Account
Flow Navigation (Screen to Screen)
- Login
- Home
- Register
- Register
- back to Login
- Home
- Home
- Detail Post
- User Profile
- Compose
- Edit Profile
- Log out button to Log in
- Detail Post
- back to previous
- User Profile
- back to previous
- Compose
- Home
- LogOut
- Login
Property | Type | Description |
---|---|---|
objectId | String | unique id for the user account(default field) |
firstName | String | name of user |
lastName | String | name of user |
String | email of user | |
username | String | alias of user |
password | String | password of user |
profileImage | File | user profile image |
createdAt | DateTime | date when post is created (default field) |
updatedAt | DateTime | date when post is last updated (default field) |
Property | Type | Description |
---|---|---|
objectId | String | unique id for the user post (default field) |
user | Pointer to User | user model |
ratings | Number | rating of a professional |
title | String | job title of user |
company | String | company name of user |
street | String | work street address of user |
unit | String | unit for address of user |
city | String | city of company |
state | String | state of company |
zipcode | Number | zipcode of company |
phone | Number | work phone number of user |
createdAt | DateTime | date when post is created (default field) |
updatedAt | DateTime | date when post is last updated (default field) |
Property | Type | Description |
---|---|---|
objectId | String | unique id for the user post (default field) |
author | Pointer to User | image author |
image | File | image that user posts |
Question | String | user question |
commentsCount | Number | number of comments that has been posted to an image |
likesCount | Number | number of likes for the post |
createdAt | DateTime | date when post is created (default field) |
updatedAt | DateTime | date when post is last updated (default field) |
solved | Boolean | user can mark the post if it the question gets resolved |
category | String | category of user's post |
Property | Type | Description |
---|---|---|
objectId | String | unique id for the user account(default field) |
postId | String | unique id of post |
userId | String | unique id of user |
comment | String | user's reply to post |
createdAt | DateTime | date when post is created (default field) |
updatedAt | DateTime | date when post is last updated (default field) |
- Home Feed Screen
- (Read/GET) Query all posts order by each Post CreatedAt
ParseQuery<Post> query = ParseQuery.getQuery(Post.class); query.setLimit(20); query.addDescendingOrder(Post.KEY_CREATED_KEY); query.include(Post.KEY_USER); query.findInBackground(new FindCallback<Post>() { @Override public void done(List<Post> posts, ParseException e) { if (e!=null){ Log.e(TAG, "issue with getting posts",e); return; } for(Post post: posts){ Log.i(TAG, "Post"+post.getDescription()+" username: "+ post.getUser().getUsername()); } adapter.clear(); adapter.addAll(posts); fragmentPostsBinding.swiperContainer.setRefreshing(false); } }); }
- (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
- (Read/GET) Query all posts order by each Post CreatedAt
- Create Post Screen
- (Create/POST) Create a new post object
- Profile Screen
- (Read/GET) Query logged in user object
- (Update/PUT) Update user profile image
- Created framework
- Added default styles/color and icons
- Added Login and Data models
- Connected to Parse
- User profile
- Sign up with user and professional
- Added Log out
- User Detailed profile
- Cleaned up Compose and added disable/enable conditional
- Updated and began comment section
- Detail post with comments
- Detail post with clickable full image