TALENTED EUROPE: Analysis Document


Nowadays, modern software applications run often both on personal computers and mobile devices. One approach to get that, is to build a standalone web application which contains everything, developing it with responsive design. On this way, a browser can show this web application, and this browser can be launched on PC or mobile device. Another approach is to develop separately a web application to be viewed by a browser in a desktop computer, and a so called app which targets mobile devices. The first approach can be faster at the development phase, but not so efficient at the user experience level. The second approach is opposite: slower at the development phase but faster and efficient when running the application. For this project the second approach has been chosen. Anyway, modern software applications used to have a so called API REST to expose data to work with. This API conforms an independent layer. From this point, all the applications can be implemented and connected cleanly to this API. The core contains this API and some other auxiliary methods.

Web platform (or application) is built on top of the core. As mentioned, this piece of software is designed to run on a browser, mainly over personal computers. It can be displayed also on mobile devices browsers though.

This output will generate the code and a cross browser web application being careful with user interface and conforming to the style guides for all the cross-platform applications. Due to this, this output includes aspects such as web design, web publishing, web programming, and database management.

The source code will be stored in a GitHub project, the "de facto" standard for software repositories.

Talented Europe web platform will be created using the software architectural pattern Model‚ View, Controller (MVC). It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user.

There will be a login/registration section, in the same way as traditional sites. Once logged into, a contextual side menu is presented to the user, in order to select the desired action. Depending on the profile of the logged user (administrator, students or institution) several options will be displayed. Quick access to select the institution, search students or sort results are available as options within the main section. Once a student or institution is selected, the contact data is shown in order to reach it.

On one hand, partners involved in this project represent different educational levels from different countries. And in the other hand, following MVC pattern, a view generate an output representation to the user. Therefore, every partner will participate during the development of views for the web platform. This process will be coordinated by CIFP César Manrique.

Testing Core will help to find bugs and to determine compliance with performance goals and requirements, and/or collect other performance-related data to help us make informed decisions related to the overall quality of Talented Europe web applications. So testing process will include the following tips:
  • Ensure browser compatibility.
  • Make sure that mandatory fields are given data in forms.
  • Check for time outs and field widths
  • Be sure that proper control is used to feed data.

Moreover, because web applications vary so greatly, teams might perform some additional testing, such as:
  • Security, Performance, Load and Stress, HTML/CSS validation, Programming validation, Accessibility, Usability and Cross-browser among others.

Testing will be done not only by partners involve in this project. Every organization that will be involved (by recruitment actions) could test the Web Platform so it will give a feed back that make more usable and efficient the application.

On top of that, the web platform will be translated into a full, interactive online version for students of the participating high educational centers, and an open source version, available for all who are interested in the subject. A professional project website and official cooperation agreements will support and stimulate the growing network of high educational centers and companies, committing themselves to the goal of creating a European talented educational area.
It is well known that apps (mobile applications) are getting a huge relevance in modern software. The growth of mobile devices and its accessibility to the personal user market have changed the way the software was understood. No matter the type of software you are working on, in order to be successful, it should have mobile version, and more precisely, a specific app designed and implemented with the mobile device as target.

This output consists on the source code and mobile applications itself. The app lets the user to make different actions depending on the type or role it is. When a company logs into, a menu will be displayed in order to search students. This search can be customized by multiple options: ranking, marks, age, geographical area, college, university, vocational, and so on. Once there, you could get in touch with the chosen student. If an educational institution logs into, it can confirm the pending requests of students, who wants to be part of Talented Europe, as well as add comments or attachments to its profile. When a student logs into, he can propose himself to enter the platform: several academic requirements will be needed. Notifications are a big part of this. A student will be notified when a company contacts him or when his educational institution accepts him. A company will be notified when a seeked profile enters the platform. An educational institution will be notified when some of its students claim to get into the platform. More notifications will be implemented though.

The source code will be stored in a GitHub project, the "de facto" standard for software repositories.

These apps will be implemented for the two most extended operative systems in mobile devices: Android and iOS. Although the source code of both applications can share the same design principles, it is clear that the programming language will be different. Android will be developed using Java and iOS will be developed using Swift. Good practices in development is a critical topic at this point. There are several documentation about this. A recent GitHub project has focused on good ways to develop a mobile application, both on iOS and Android. https://github.com/futurice/ios-good-practices is a good reference to define the structure of an iOS app: Xcode, CocoaPods, Arquitecture, "Event" Patterns, Networking, Assets, Debugging, Analytics, Deployment. On the other hand, https://github.com/futurice/android-best-practices is available as a guide on Android: Android SDK, Gradle, IDEs, Activities, Fragments, Resources, Test Frameworks, Emulators.

Mobile applications are built having into account that a core part of the platform has a REST API. Thus, when the app needs data, it makes transparent requests to this API. Therefore the core API is shared between all the application layers. Although the application makes this asynchronous requests, it holds a local database (usually sqlite or nosql) that acts like a cache.
Performance is obviosly a very important issue when developing mobile applications. It must seem fluid and light when the user comes into. A big effort on this topic will be done.
From the user experiencie (UX) point of view, the app will present its diferent options through contextual menus and sliders. It will be designed using actual guidelines, to be more attractiv and user friendly. UX Design Patterns will be used, such as Walkthroughs & Coach Marks, Content-Based Navigation, Sliders, Popovers, Slideouts, Sidebars and Drawers.

Analysis, design and testing of the mobile apps will be made by all the partners, although the main role on this output concerns IES Puerto de la Cruz - Telesforo Bravo. Contributions to implementation of the final apps must involved every partner, since translation, marketing and dissemination are implicit to its development.

The functionality of these mobile apps is totally equivalent as the web version, in terms of using. Whatever you can do at web, you could do at mobile device. This ensures that final users will be comfortable when using the mobile app, and satisfied with the provided services.

System definitions


After doing a vast search through the Internet, it can be concluded that there are no websites or databases available, which provides a ranking of the most talented students per school, college, university or country. A list of the most popular universities around Europe can be found, though, none of them allows to contact their top students. In that sense, the project innovates.

Moreover, there are several websites (Eures, Infojobs, …) that offers a place to join students and companies, in order to get a job, but they are always built from the point of view of the company. In that sense, our project develop a new approach, through a website / mobile application aiming to keep students and companies in touch, but designed from the side of the students and the educational institutions, because either are the students who propose themselves or the institution which proposes their most talented students, as the best candidates to cover the companies’ necessities. Being the companies indeed, who look up their profiles. These applications also provide the highly qualified young graduated to contact themselves as a meeting point for entrepreneurship and cooperation.

Some most related projects and websites in Europe have for example developed tools for job and traineeship seeking, always form the side of the employees, who offer their workplaces for a wide range of students across Europe. However, none of the earlier projects have focused on the side of the students and HEI's, who could propose the highly talented students, supported by a clear process of selection. Therefore, the companies will have a powerful tool to find exactly the person they are looking for.