Challenge Overview
Welcome to the Attendee - Android Native App Prototype challenge!
In this very first challenge, we need you to create a native Android application based on the provided storyboard.
This app will be used by event participants for receiving relevant information about events in their organization.
Assets provided in Forums (available on registration)
-
MarvelApp link
-
Design sources link
Do not hesitate to ask on the challenge forum if you have any question.
You need to implement the following:
Splash screen
Screen: 01_Splash.png
Requirements:
-
After 2-3 seconds (make the delay configurable) take the user to the Event Listing page.
Event Listing
Screens: From 02_1A_event_listing_non_logged_in.png to 02_3E_filter_event_non_logged_in.png
Requirements:
-
This is the default landing page after the Splash screen is shown.
-
You need to create more data to show how the page will render multiple events.
-
If the user is logged in, the background of the event date should be green and there should be a green icon with a white checkmark after the title of the event. See screen 05_1A_event_listing_logged_in.png.
-
The header should be fixed at the top while the rest part of the app should be scrollable.
-
Clicking the user icon on the top-left will take the user to the Login page.
-
Sorting needs to be functional.
-
Remove the list/grid icon from the top-right. We will only use 1 layout thus we don’t need this toggle.
-
Note, the search view should not be a different screen.
-
The My Events tab will show the content from 02_1E_event_listing_non_logged_in.png if the user is not logged in otherwise it’ll show the content from 05_1E_event_listing_logged_in.png
-
Clicking the filters icon from the search bar will show the filters screen.
Login page
Screen: 03_1_login.png
Requirements:
-
You need to create a sample combination of valid credentials to allow login.
-
Please show an error message for invalid credentials. We don’t have a design for this.
-
‘Forgot password’ is dead-link.
-
Social media icons are dead links.
Registration page
Screen: 03_2_register.png
Requirements:
-
All fields are required.
-
Please show a simple validation error message if not all fields are filled.
-
Social media icons are dead links.
-
After registration, take the user to the Profile setup page.
Profile setup page
Screen: 04_1_setup_profile.png & 04_2_setup_profile.png
Requirements:
-
The user should be able to select a photo from the phone’s image gallery and the app must preview the selected image.
Event details page
Screens:
-
From 06_1_event_details_before_register.png to 09_3B_boarding_pass.png
-
Not logged in: 02_4_event_details_non_logged_in.png
-
Logged in but not registered: 06_1_event_details_before_register.png
-
Logged in & registered: 09_1_event_details_registered.png
Requirements:
-
If the user is not logged in, clicking register will take the user to the login page.
-
Clicking the event location will open the location details (06_2_event_location.png). The map should be implemented (not static image).
-
Clicking FAQ will open the FAQ (06_3_event_faq.png). Each section needs to be collapsible.
-
If the user is logged in, clicking register will show the available registration types (07_1_open_event_registration.png).
-
After selecting a registration type, the user will have to select a payment method (07_2_open_event_registration.png).
-
There are 2 event types (Open/By invitation). If the event is an Open event, after selecting a payment method the app will show the success modal (07_3_open_event_registration.png) otherwise if it’s By invitation, it will show the pending approval modal (08_2_private_event_registration.png). From the pending approval, since we don’t have the actual functionality yet, clicking Close will show the success modal (07_3_open_event_registration.png).
-
If the user is registered, clicking the Name Badge will open the name badge (09_3A_name_badge.png). It would be great if you can implement the downloading feature.
-
If the user is registered, clicking the Boarding Pass will open the boarding pass (09_3B_boarding_pass.png).
Sidebar
Screen: 13_nav.png
Requirements:
-
If the user is logged in, clicking the menu icon at the top-left will show the sidebar. Please add a simple animation like slide-in/out.
Notifications page
Screen: 08_3_private_event_registration.png
Requirements:
-
The first row shows the clicked state of each row.
Code requirements
Follow the latest best practices for native Android 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
-
Android v5+
Final Submission Guidelines
-
Zipped project source code
-
Provide a deployment document that covers how to setup the environment, required software and dependencies in order to run the app, as well as how to build the app, package it and run it in an emulator (or physical device).