In this option of the course students will be asked to develop, in a team of 5 elements, an engineering project in an setup that reproduces the environment in a startup company when a new product is being designed and implemented.
Starting form a common base specification, each team will propose its own vision of the product to be developed, adding the functionalities that correspond to the team vision of the product to be introduced. In this setting, the project will have a component of innovation and creativity allowing, in the of the course, the availability of complete product / system /app ; to achieve a full functional prototype the team will need to acquire skills for full stack development.
The development will be based in practices and tools commonly used in the industry to achieve production quality and include the use of tools for evaluate the software quality. Students will have tutorials about subjects relevant to project goals as well as lectures and practical work related with current emergent technologies (Cloud, Mobile, IoT, Web).
The work will be developed in dedicated labs of the Department and includes the deployment of software in the cloud. Students will have the opportunity to interact with potential users of the system in development. In the end of the course, a workshop / exhibition will take place allowing the presentation, by the teams, of the products developed to a selected number of entreprises and entities; the department plans to support the enhancement and industrialization ot the best systems developed.
The chalenge is to develop a web and mobile application, supported on computation and data management in the cloud, that promotes points of interest in cities and villages. The app will be built according to a gamification approch, similar to the one used by the popular GeoCaching (https://www.geocaching.com/play).
The app users will define paths (explicits or through clues and indicators already existent in the real world) using an web application. The users (players) will follow the path, through the players app that runs in mobile devices. The game´s goal is the point accumulation by the players by players who successfully run courses, and in addition, the creation of popular paths that get positive feedback from players. They will be able to interact with the app along the way by providing additional suggestions or recommendations based on their experience or reporting things they would like to see improved about the places they visit. Such a platform should be able to interact with services from eal-world entities (for example, a coffee promotion agreement, promoting pathways that benefit local specialty trade or interesting local initiatives) Confirmation that players perform the course as expected is primarily done using GPS, but additional mechanisms can be added (for example, answer a location question), request summaries of visit experience based on local observation of aspects suggested, etc. In order for the system to promote an experience based on fairness and correctness principles, they must also offer simple mechanisms to prevent players from mishandling GPS (consider the mechanisms used in the famous Pokémon GO application, combined with other witnessed forms of attestation).
The app should have the following facilities:
User registation (name, email, phone, catergory) -> Web and Mobile.
Pathway definition: Title, Description, Distance (estimated), Topics, Difficulties, path point GPS coordinates -> Web
Pathway Edition -> Web
User area, with indications about paths already completed with the date of and points obtained -> Web and Mobile
Facilities for commenting pathways -> Web and Moobile
Facilities for signaling dangerous zones in the pathways -> Web and Mobile
Facilities for discussion moderation preventing SPAM and Trolls ->Web and Mobile
Visualization of pathways in a given geographic area -> Web and Mobile
Pathway initiation and participant registration -> Mobile
Statistical data about pathway realization: average completion time , number of users, average points obtained -> Web and Mobile
Back-office for platform management , namely access control, usage statistics, moderation facilities assuring fairness and quality of the information stored. The backoffice could also support aspects of regulation and benefit management resulting from the value creation process promoted by the platform.
February 9th Publication of the project specification (available in CLIP)
From March, 6th Lectures and lab sessions about the techonologies to be used. Sessions include
Detailled Presentation of the Project.
Reference architecture and project guidelines
Framework Web Application (server side). Google Engine.
Web development.
REST; REST Programming
Server technology
Server data management
Client: Javascript and Web frameworks; AJAX.
Android Programming
Maps and geo-referentiation
Project tools: Git, Eclipse plugins
From end of March Project development by student teams
15th July Workshop/Exhibition