Challenge Overview
Welcome to the Attendee - iOS Native App Prototype Part 2 challenge!
In the previous challenge, we created a set of screens for our native iOS application.
In this challenge, we need you to make some changes in the existing screens and to implement the rest of the screens.
Assets provided in Forums (available on registration)
-
MarvelApp link
-
Design sources link
The existing code is hosted on a Gitlab repository. Please post your Gitlab handle and/or email on the challenge forum to get access to the existing code.
Do not hesitate to ask on the challenge forum if you have any question.
Changes in existing implementation
-
After successful registration on an event, you need to take the user to the Additional Info page (New page).
-
The event details page has been redesigned. Please check the new design (02_event_dashboard_ongoing_with_live_poll.png) and update the current implementation based on it.
New Screens
(Note: some screens may have multiple provided images showing different states etc.. Make sure to check the provided images so you don’t miss any requirement.)
01_additional_info (from the new sources - 21_1 and 21_2 from MarvelApp)
After successful registration to an event, the user is taken to this page where he/she can enter additional information.
-
All fields are required unless the user clicks the “Later, I haven’t decided” which skips this step completely.
-
The user should be able to add multiple guests by clicking the “+ Add more”.
-
Clicking submit should take the user back to the event details page.
09_4_event_attendees
The user is taken to this page by clicking the “Attendees” link from the event details page.
-
Searching should work and filter the results.
-
Clicking on any attendee should open the 09_5_event_attendee_details page
09_5_event_attendee_details
-
Social icons won’t do anything.
09_6_event_agenda
The user is taken to this page by clicking the “Event Agenda” link from the event details page.
-
The user should be able to filter based on the date (top tabs).
-
The user should be able to attend to a session by clicking the (+) icon.
-
The user should be able to highlight sessions he/she’s attending.
-
Clicking any session should show the 10_1_session_details_before_attend page
-
When the number of available seats is below a configured value, you should show the “# seat available” message.
10_1_session_details_before_attend
This screen has many states. Each state is shown in one of the following images:
-
10_1_session_details_before_attend - The user hasn’t attended yet.
-
10_2_session_details_breakout_before_attend - The user hasn’t attended yet and there are few seats available.
-
10_3_session_details_attended - The user has attended the session.
-
15_session_details_speakers - The user has attended and has submitted feedback.
General notes for those pages:
-
Share (top-right) should show some share options. (10_4_share_session_details)
-
Get directions should open a page similar to the Event location page which is already implemented but it should say Session location.
-
Navigation between this and sub-pages (Attendees, My Notes, Discussions etc) should work.
-
An attendee should be able to submit feedback only once. If the user has already submitted feedback, the feedback button should be disabled.
09_7_quiz_and_poll
Note that there are also live polls (screens 22_* from MarvelApp)
09_12_event_speakers
-
Clicking each speaker should show the Speaker profile page (09_12B_event_speaker_profile)
-
In speaker profile page, the social links don’t have to be functional.
-
12_my_profile
-
Clicking edit info should show a text field to edit the “About me”
-
Clicking My Notes will take the user to the My Notes page
-
Clicking My Preferences will take the user to the Profile Setup > Preferences page
20_messages
-
Clicking any thread will open the conversation (20_2_messages)
10_6_my_notes
This page consists of multiple screens.
-
10_6A_my_notes - Notes listings
-
10_6B_view_note - Note details
-
10_6C_new_note - New note
General notes:
-
The drawing functionality is out of scope but the user should be able to attach an image.
10_7_session_discussions
-
The user should be able to attach an image.
-
The user should be able to send emojis.
09_13_event_feedback
-
The user should be able to submit feedback to an event.
10_8_session_feedback
-
The user should be able to submit feedback to a session and its speakers.
09_11_event_wall
-
The user should be able to “Like” a post.
-
The user should be able to attach & post an image.
-
The user should be able to reply to a post.
11_my_agenda
This page should show all sessions for the upcoming event that the user has selected to attend.
-
Clicking each session should show the details.
09_9_event_pre_read
-
The user should be able to download or share the attached files.
09_10_event_post_read
-
The user should be able to download or share the attached files.
19_documentation
-
Clicking the photo at the top should show the event gallery page.
-
The user should be able to download or share each attached file.
09_8_event_gallery
-
The user should be able to upload an image.
16_speaker_manage_docs
-
The speaker should be able to attach Session material, Pre Read documents & Post read documents.
-
The speaker should be able to remove existing attachments.
10_5_session_materials
-
Clicking any material will download it.
Code requirements
Follow the latest best practices for native iOS applications.
You are free to use any open source libraries as needed but feel free to confirm on the challenge forum if you have any doubt.
Do not hardcode any data. Ideally, use JSON file(s) to store the data that needs to be displayed in the application.
Targeted devices
-
iOS v9+
Final Submission Guidelines
-
A git patch with all changes made. It is also recommended to submit the whole project folder to avoid issues during review in case your patch file is broken. The winner will be requested to create a merge request (if a valid patch is not provided).
-
Provide a video showing your submission in action.