Insert Dreams Here is a dream sharing app. Don't forget your dreams after you wake up. Record them, and see what people around the world dreamt last night, too.
Time spent: X hours spent in total
The following required functionality is completed:
- User can sign up to create a new account using Parse authentication
- User can log in and log out of their account
- The current signed in user is persisted across app restarts
- User can write a title, compose a dream, and post the dream.
- User can select a location tag using Google Maps API, and post the dream
- User can view the last 20 dreams posted on a Google Map as pins
- User can tap on a pin on the map and see dream
- User can tap on a dream to read it fully
The following stretch features are implemented:
-
User sees app logo on launch screen
-
User sees alerts for login exceptions, i.e. "account already exists", "wrong credentials", etc.
-
User sees an activity indicator while waiting for authentication
-
User sees an activity indicator while waiting for the map of dreams to load
-
After the user submits a new post, show a progress HUD while the post is being uploaded to Parse
-
Add an "Adorable Avatar" for each user by requesting an avatar from the Adorable Avatars API
-
User can use a tab bar to switch between world map and user profile
-
User can see a tableview of their own dreams (a title, date, and preview of dream)
-
User can tap on a table cell to view their full dream, as well as edit and update their post
-
Allow the logged in user to add a profile photo
-
Display the profile photo with each post
-
Tapping on a post's username or profile photo goes to that user's profile page
-
User can comment on a post and see all comments for each post in the post details screen
-
User can like a post and see number of likes for each post in the post details screen
-
User can rate their post by movie standards so viewers can restrict their content
-
Filter visualization by time posted
-
User tag their own dreams by emotions: Positive, Neutral, Negative
-
=== Nice to haves: === Record by voice Record by voice, transposes into text (Using speech recognition API such as https://cloud.google.com/speech/) Add a drawing or visual Personal analytics on the dream content (word sentiment or dream/nightmare evaluation?) Someone on the other side of the world dreamt something similar to you. Want to read it? Ask artists to draw or animate people’s dreams
Here's a walkthrough of implemented user stories:
First, setting up the Parse server to enable user to sign up, login, logout, with input validation and user persistence if app is closed.
Then, posting a dream to the map.
GIF created with LiceCap.
List an 3rd party libraries, icons, graphics, or other assets you used in your app.
- AFNetworking - networking task library
- Trianglify.io - wallpaper generator
Describe any challenges encountered while building the app.
Copyright [2018] [Mavey Ma, Miguel Fletes, Yang Jing]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.