-
Notifications
You must be signed in to change notification settings - Fork 0
Weekly Sprint Planning and Reviews
- Aiden Teal: In charge of setting up a firebase project for the application and connecting it to our android studio project. Defined some attributes for Event, User, and Facility classes
- Manh Duong Hoang: in charge of uml diagram and user stories and backlog
- Parth Dadhania: In charge of creating and setting up the basic structure for the app and generating models(firebase).
- Het Patel: In charge of creating and setting up the basic structure for the app and generating models(firebase).
- Zhiyuan Li: Modified the project structure to follow the MVC pattern, reorganizing classes into appropriate folders for controllers, models, and views. Added new layout files for various user stories, ensuring consistent structure and reusable components for future development.
- Rana Thind:
User Stories Completed:
- None this week, just setting up the project structure
TA Feedback: Address part 2 feedback, specifically with the UI disconnect between organizers, admins, and entrants. Make the UI seamless and connected for all roles.
- Aiden Teal: Setup user creation and device identification. Created welcome screen, create user screen, and role selection screen. Set up backend for device and role recognition, navigating users to the appropriate pages. Also setup map functionality, allowing organizers to view a google maps of where entrants joined a waitlist from.
- Manh Duong Hoang: Updated/Added backlog user stories with changes the prof made, designed UI for notification and preference page
- Parth Dadhania: In charge of designing UI components for Event List, Event Details, Top and Bottom navbars and other reusable UI components, Geolocation screen.
- Het Patel: In charge of attaching functionality(backend controllers/models) for the UI of Event List and Event Details. Added sidebar and navbar buttons functionality.
- Zhiyuan Li: Added a profile section that fulfills user requirements to manage and update profile information. Specifically worked on: User Stories:
-
US 01.02.01 As an entrant, I want to provide my personal information such as name, email and optional phone number in the app
-
US 01.02.02 As an entrant I want to update information such as name, email and contact information on my profile
-
US 01.03.01 As an entrant I want to upload a profile picture for a more personalized experience
-
US 01.03.02 As an entrant I want remove profile picture if need be
-
US 01.03.03 As an entrant I want my profile picture to be deterministically generated from my profile name if I haven't uploaded a profile image yet.
-
as well as US 01.04.03 As an entrant I want to opt out of receiving notifications from organizers and admin (updated later for week 3) Integrated QR scanner API for reading event QR codes and added an avatar generator API for profile pictures. Added all required APIs for the project by updating Gradle files, including QR scanner, geolocation map, QR code generation, and Firebase connection. Deleted unused files and added workflow actions for CI with GitHub Actions, including Javadoc, Android CI, and page testing.
- Rana Thind:
User Stories Completed:
- US 01.02.01: Entrant wants to provide personal information, including name, email, and optional phone number, in the app.
- US 01.02.02: Entrant wants to update their personal information, such as name, email, and contact information, on their profile.
- US 01.03.03: Entrant's profile picture is automatically generated based on their profile name if they haven't uploaded a profile image.
- US 01.07.01: Entrant wants to view their upcoming events and event details on their profile.
- US 02.02.02: Organizer can edit event details after creating the event.
**TA Feedback: Still needing to address part 2 feedback. Also need to ensure navigation is working on all pages. Profile page is missing navigation bars so must add that. Ensure main page only shows the events an entrant is in a waitlist for. Also be sure to make sure that organizers can see their created events as well. **
- Aiden Teal: Implemented some firebase testing for basic model functions. Incorporated backend for many features across the app. Ensure QR scanner is working and opens event details page. Set up geolocation backend to prompt user for geolocation access if an event requires it. Setup backend for event and facility creation. Implemented checking to ensure user has a facility before creating an event. Implemented checks to ensure user has a valid name email and phone number before joining an event, preventing them from joining if they do not. Added javadocs to most activities and models. Updated storyboard and screen diagrams to reflect updated changes. Added navigation abilities to various pages.
- Manh Duong Hoang: Implemented logic of notification and notification preference page. Fixed UI notification switches issues that the TA mentioned. Added drawer menu, top navigation bar, and bottom navigation bar to needed pages. Added all models, controllers and partial views entities to UML diag. updated backlogs to reflect true progress
- Parth Dadhania: In charge of creating UI and backend functionalities for the Organizers. Added UI for different lists, manage events, creating a new event and creating/editing facility. Added functionality to generate different lists for organizers. Edited and refined Javadocs.
- Het Patel: In charge of handling backend for generating and fetching different lists for organizers, creating a facility, creating/editing facility. Added functionality for randomly sampling entrants from the waiting list. Added and fixed unit tests.
- Zhiyuan Li: Added additional QR screen features: flashlight, cancel button, and gallery button for QR code input from images. Refined the QR code activity functionality. Enhanced the welcome page with a more visually appealing UI. Updated AndroidManifest.xml to include necessary permissions and activity declarations. Configured Firebase storage rules to grant access to the local gallery for avatar uploads. Created 16 Java classes and XML layout files across controller, model, view, and layout/drawable folders to support Admin functionalities:
-
US 03.01.01: Allow admins to remove events.
-
US 03.02.01: Allow admins to remove profiles.
-
US 03.03.01: Allow admins to remove images.
-
US 03.04.01: Enable admins to browse events.
-
US 03.05.01: Enable admins to browse profiles.
-
US 03.06.01: Enable admins to browse images.
-
US 03.07.01: Allow admins to remove inappropriate facilities.
- Rana Thind:
User Stories Completed:
- US 02.02.03: Organizer can view a list of participants who joined the event waitlist.
- US 01.08.01: Entrant wants to use QR code to join the event waitlist.
- US 02.01.03: Organizer can create a facility and link it to events.
- US 03.05.01: Administrator can browse and view user profiles.
- US 03.04.01: Administrator can browse and view events.
- US 03.02.01: Administrator can remove user profiles from the application.
- US 03.01.01: Administrator can remove events from the application.
- US 02.06.03: Organizer can sample and select random entrants from a waitlist for giveaways.
- US 02.06.02: Organizer can view the full waitlist for their events.
- US 02.06.01: Organizer can search and filter entrants within the event’s waitlist.
- US 02.05.02: Organizer can edit the details of an existing facility.
- US 02.01.01: Organizer can create new events after setting up a facility.
- US 01.06.01: Entrant wants to enable notifications for event updates.
- US 01.06.02: Entrant wants to manage notification preferences for winning or losing an event.
- US 01.04.03: Entrant wants to update their profile picture.
- US 01.04.02: Entrant wants to remove their profile picture.
- US 01.04.01: Entrant wants to upload a profile picture for a personalized experience.
- US 01.03.03: Entrant’s profile picture is generated automatically based on their name if not provided.
- US 01.03.02: Entrant can remove their profile picture.
- US 01.03.01: Entrant can upload a profile picture for personalization.
- US 01.01.02: Entrant wants to leave the waiting list for a specific event.
TA Feedback: Publish updated feedback on UI from part 2 and keep working on user stories.
- Changed profile in a view to increase user comfort and record-keeping.
- Added the callback parameter in the updateProfile method of UserController to save the profile information successfully.
- Added logic to hide/show "Remove Photo" button based on whether the user has a profile photo.
- Improved Avatar Display: By default, it will fall to the Avatar if there isn't a photo uploaded or the photo is deleted.
- Improved back navigation handling to prompt user in case of unsaved changes
- Fixed bug of "Save" button showing/ hide regarding on changes in profile data
- Fixed Camera Preview so the image of the QR code isn't shrinking/distorted.
- Added a flashlight feature to enhance readability of a QR code in low-light conditions.
- In the absence of any QR code detection, the app performs error handling by sending an informative alert to the user.
- Scanning Wave animation was enhanced by adding a transparent gradient while the wave moves so it shows up better.
- Added poster preview dialog before saving to allow the user to see how the uploaded poster image will appear.
- Changed the logic of isValid so that event time would always be posterior than the start time.
- Added new test cases to existing UI tests which will further increase the quality and reliability of the application.
- Focus on testing key user flows and interactions. Code comments This time, more Javadoc classes for code documentation were generated within the View folder.
- Fixed issue with create event breaking due to accidental deletion of some back end code
- Fixed issue with google maps api being expired and causing system to crash
- Edited the main landing page to show a placeholder if user has no events
- Fixed UI for event details to include more information regarding the event
- Created dialog allowing organizers to send custom notifications
- Edited Notification UI to allow for the deletion of events through a button
- Edited google maps page so map doesn't take up entire screen
- Added various placeholder messages in case data is not present or not enabled
- Implemented win, lose, general, and cancelled notifications in the application
- Enabled android notifications to play once the database updates with a new notification for the user
- Gave users option of disabling general android notifications
- Allowed organizers to send general notifications to entrants in all waitlists, allowing for custom messages
- Enabled cancelled notifications so entrants are informed if they have been removed/blacklisted by an organizer
- Added checks to ensure user cannot join event after start date of event
- Ensure user can't join an event if they are blacklisted
- Fixed maps api
- Created map structure so that users id and name are associated with their location
- Added marker titles with users name when clicking on marker
- Implemented backend to remove entrant location from map when they leave an event or are cancelled by organizer
- Implemented backend allowing an organizer to save a qrcode to their storage and share it to others
- Implemented ability for organizers to generate a new qr code for their event if the other one was deleted by an admin
- Added javadoc comments for new activities, and methods
- Fixed issue with javadocs not generating
- Generated javadocs and added them to github.io (With help of Zhiyuan Li)
US 01.04.01 As an entrant I want to receive notification when chosen from the waiting list (when I "win" the lottery) US 01.04.02 As an entrant I want to receive notification of not chosen on the app (when I "lose" the lottery) US 01.04.03 As an entrant I want to opt out of receiving notifications from organizers and admin US 02.02.02 As an organizer I want to see on a map where entrants joined my event waiting list from. US 02.05.01 As an organizer I want to send a notification to chosen entrants to sign up for events. This is the notification that they "won" the lottery. US 02.07.01 As an organizer I want to send notifications to all entrants on the waiting list US 02.07.02 As an organizer I want to send notifications to all selected entrants US 02.07.03 As an organizer I want to send a notification to all cancelled entrants
- Major UI fixes across the app. Added back button and functionality in the navbar on every page.
- UI enhancements for manage event page for organizers.
- Updated waiting list functionalities such as sampling of attendees and management of lists backend.
- Add functionality for setting waiting list limit.
- Implemented checks to prevent users from accepting invitations or registering once the maxAttendees limit has been reached.
- Fixed Firebase update errors related to facilities.
- Corrected redirection logic after creating a facility.
- Minor error fixes across the app.
- Updated delete facility and associated events (posters + QRCodes) functionality for admin.
- Fix facility deletion errors.
- Minor fixes in logic and backend in the admin functionality.
- Added and fixed backend/UI for waiting list, invited list, confirmed list and cancelled list.
- Added functionality so that organizer can delete any entrant if they wish by clicking on the user name from the lists.
- Added functionality for organizer to be able to view the enlarged profile photo of the user by clicking on the profile photo of an entrant.
- Fixed UI/backend for the sampling attendees randomly from the waiting list.
- Added UI/backend for admins so that they can browse through all the users in the app and can also delete any user if they want.
- Added UI/backend for admins so that they can browse through all the facilities in the app and can also delete any facility if the want.
- Added UI/backend for admins so that they can browse through all the events in the app and can also delete any event if they want.
- Added UI/backend for admins so that they can browse through all the QR codes in the app and can also delete any QR code if they want.
- Added UI/backend for admins to be able to view the enlarged profile picture for any user and can also remove the image.
- Added UI/backend for admins to be able to browse through all the event posters and can also remove the poster if they want.
- Updated the sidebar drawer to add the admin control panel which would only be visible if the user is admin.
- Added the profile photo for a user in the sidebar drawer which leads to profile management for user.
- Minor UI fixes all over the app.
- Added app logo.
- Implemented "Save" button visibility depending on changes in Notification Settings page
- Changed minor UI related problems from part 3 feedback
- Updated backlogs, UML diagram, UI mockup and storyboards in wikis for part 4 deliverables
All