Users sign-in to the application to be able to automatically receive game stages from the server.
Users should be able to sign up directly from the application using social media websites (at least Facebook and Google).
The application UI should support localization/internationalization (at least switching between languages and ability to add new languages)
The application loads data from the server, cache them and display the designated UI elements.
The server provides game stages, when to display them and other related resources.
The application captures user input along with related data (time, location ...etc) and feeds the server back with data when network is available.
The application loads notification text and their timing from server, displays them on time and provides feedback to web-server.
- Web server provides notification text to be pushed at specific time
- When user selects a Notification, it launches a URL or Displays a pre-loaded game Stage.
Game stages are loaded From Server:
In the request, app should send to the server: user_id, device IMEI, network, location, screen size, lock_screen settings
Response contains one or more Stages, each contains:
-- full screen image
-- dragable object & endpoint locations (icons/sprites loaded from server)
-- duration to display the stage
-- time to display the stage (either specific time or random time from screen lock)
-- location (GPS) to display the stage
-- one or more terminal action (Open URL/Play Video/Post to social media) associated to the end points
- Login/Signup using email or Facebook/Twittter/LinkedIn ...etc
- ability to invite contacts to the game
- ability to post public invitations to social media
- event/failure logging and submission to server
- ability to set/get several settings (defined dynamically by the web-server) from app UI and submit it to web server
- Storage should be secure (users are not able to reach content outside the application)
- Application should use minimal resources (RAM/CPU) with robustness (no crashing, loading for long time ..etc)
- complete documented source code must be delivered, automatic documentation tools (like doxygen) are preferred
- all components/tools used must be legally licensed
- all opensource components used must be listed along with corresponding license in /Legal directory
- any person involved in development must sign NDA