-
Notifications
You must be signed in to change notification settings - Fork 0
App Design Document
[explain the goal of the app] A group of friends or family wants to find time to go out together, but scheduling & location decision is difficult. Enter app. Free, easy, and fast.
[who is this app targeting?] Groups of friends or family who want to coordinate times & locations to go out together. Want an easy way to coordinate events logistically without having to go through back-and-forth messaging/frequent changes.
[how will your users interact with this app?] Host creates event & determines timeframes. Host shares to event attendees. Event attendees select the times that they're available within the given timeframe. They may also optionally suggest locations or have the app generate a random location within preference parameters & in a given distance radius. The app generates the best timeslot & location for everyone, and creates event reminder for all attendees.
- [list the different screens used in the app]
- Splash
- Sign-in / Sign-up
- Home - Groups
- Add event
- Event calendar
- Event location
- Share event
- Event results
- Vote
- User profile
- [list which APIs or external services will your app use?]
- Google Calendar
- Firebase
- Location choose based on preference (Picky-like)
-
Views
- [list all views you will need]
- Event table view cell
-
View Controllers
- [list all view controllers you will need]
- Splash -> Sign-in / Sign-up -> Home
- Home -> Edit event -> Event calendar -> Optional event location
- Home -> Add event details -> Event calendar -> Optional event location -> Share event
- Home -> Event results
- External --> Vote -> Event results
- Home -> Profile
-
Other Classes
- [list any other classes you will need]
- [list all Parse data models your app will need]
[The overall milestones of first usable build, core features, and polish are just suggestions, plan to finish earlier if possible. The last 20% of work tends to take about as much time as the first 80% so do not slack off on your milestones!]
planning your app
- [goals for the week] Planning/Hackathon, Firebase implementation, user authentication, basic app architecture/UI
finishing a usable build
- [goals for the week, should be finishing a usable app]
- Continue wk 1,
- create event details
- cocoapods calendar
- create event class
- save event/user to Firebase database
- show saved events on home page (like Notes but using Firebase storage/database)
- select more than 1 date at a time
- save selected dates to database (select more than 1 at a time)
- display table array on tableview
- populate array w/ data from Firebase (show func)
- have table reload every time
- [goals for the week] Continue wk2
- display top results
- display dates as Jan 1, 2017
- reorganize view controllers/architecture
- save logged in user
- drag/longpress gestures to select range of dates
- display users in findFriends popup
- invite other users on same event
- invited/hosting both displayed on table cell
- differentiate view controller based on invited/hosting
- [goals for the week, should be finishing all core features] Continue wk3
- fix invitee calendar view
- allow invitees to select & save dates
- merge votes, create new database entries
- display in best dates controller
- cannot select dates in indate/outdate
- if date already selected, display
- display invitees in invitee table view.
- format dates as "July 23, 2017"
- fix "host | responses | status"
- remove invitees from inviteeVC
starting the polish
- [goals for the week] Continue wk4
- user logout
- slide to delete events
- fix remove invitees from inviteeVC. when new, invitee delete broken.
- when editing, not working as expected.
- clean up inviteeEmails/Names/myInvitees/blahblah
- show host (or existing) dates in light blue.
- show selected date in orange
- when invited, sends text/email to invitees. invitees prompted to download app. anonymous login, fill in name. see EventVC+BestDates. after, redirected to splash/login. //****can invite people who are not users
- redesign invitee-view on event controller, orange select on top of highlighted
- login cancel broken
- tutorial alert when log in / tutorial in settings
- create tutorial
- create alertController from send -> send final invite or send invite friends
- fix invitee
- host finalizes best time
- save dates to DatesChosen doesn't work in unwind segue
- display events on timeline chronologically by creationDate
- create different sections of EventTableView, sort by hosting/inviting
- change indicator color
- add to calendar
- delete invited event, pops back up
- tutorial
- flag
- username cannot be repeated; sort findFriends by name/alphabetical
- create groups of users / family, team, etc
- after download app, must log in using same email that invited with. then display events invited to using email
- everyone's dates in separate database entry.
- create popup when selected date, implement datePicker in popup
- add time in view controller & database
- select more than 1 range of dates
- display range of dates as r a n ge
- display friends only in invitee
- see all invitees in bestDatesVC
- share finalized event details via social platforms
submitting to the App Store
- [goals for the week, should be finishing the polish -- demo day on Saturday!]
- Continue wk5
- submit to App Store
- clean UI
- dynamic link invites on Firebase (https://firebase.google.com/docs/invites/ios)
- sign-in via Google/implement Google Calendar
- save to calendar EKEventKit
- location randomize/suggest (use API?) // or just location textbox
- notification
- commenting features
- user-testing, new features
- screenshots/mockups