Cookie Consent by Free Privacy Policy Generator
Hello Visitor
ESIEE - Jour des Projets 2020My account  



Our goal here is to realize a roaming application for all skiers adapted to each ski resort. This application with its name "Mapski" will allow each skier to discover the different ski areas. Whatever their level, skiers will have the opportunity to ski in complete safety. Indeed, they will be able to reach a destination in a minimum of time and those following an itinerary evaluated according to your level. Our desire to embark on this project comes from the fact that the number of skiers in France exceeds 2 million and that there are more than 200 million skiers in the world. These figures lead us to believe that this project could help a large part of the population. The aim is to make the map of the desired resort much easier and more accessible to access. Indeed, new to the resort or even used to it, Mapski will also be able to allow you to discover new itineraries that will make you ski a maximum of different slopes. In addition, to realize the user's itinerary, Mapski’s will is to make him discover new slopes. It is easier to forget your map rather than your phone which has become an indispensable tool even on the slopes. To sum up, the application is easier to use than a map and can be personalized according to the level of each user.


Our application will be available on Android. Our choice was made this way because we preferred to perfect our java language, a language we studied during our first years at ESIEE. The interface to build the application is therefore Android Studio. The choice not to build the application on IOS is mainly due to the hardware that our group had at its disposal because Xcode, the development environment for IOS applications, is only available on a Mac environment.


We wanted to add a new feature to this application to differentiate it from a standard GPS application. Indeed, the recommended routes will be adapted to the capacity of each one. This functionality applies according to the level of skiing practice. It is not based on age or morphology criteria. The wish to add this option is intended to help and guide the users of the application in the best possible way. This option also allows to improve the GPS functionality because it will allow each user to better adapt his route. This option allows to enhance the image of the application by taking care of the demand and the performance of the users. It brings a certain ethic by taking into account beginners as well as experienced skiers.

 Menu(s) :

The creation of our application was done in several steps, for the menu we created an .xml file which is the res/menu directory and corresponds to an activity. In this file we defined the different parameters of the menu, in our case the items.

After that we defined the different actions that can be executed when we choose an item in the menu, in the java file of the activity that has the menu.


For localization, which is an essential part in the creation of our application, we needed permission for the localization features, which is why we placed them in the manifest:

     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.INTERNET" />

In order to be able to access it we used the LocalisationManger service.:

   lm = (LocationManager) getSystemService(LOCATION_SERVICE);

In order to be able to retrieve the position and update it at each move we used the position providers :

if (lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, this);

if ( lm.isProviderEnabled(LocationManager.PASSIVE_PROVIDER)) {
lm.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER, 10000,0, this);

if ( lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000,0, this);

Map Display:


In order to display a map that corresponded to all the data useful for our application, we were obliged to use This map contains all the slopes with their difficulties and all the lifts. Unfortunately, the use of this map was not possible directly other than to create a WebView. This allowed us more to realize the geolocation and our different functionalities that we had planned for our application. We had to find an alternative which explains our choice to use Open street map instead. To switch from the Street Map to the Snow Map we used abstractions that work a bit like a filter with a command named Leaflet. This one allowed us to get the map of the different ski slopes starting from a more general location, namely the street as a whole.


Itineraries :

Following the installation of the geolocation in its entirety, we were able to proceed with the realization of the itineraries. In order to do this we first took into consideration the location of the user thanks to the geolocation functionalities made previously. The user only has to indicate his destination of arrival or add a stopping point on the map. This allows him to pause or stop at a strategic point on the track. The route will be displayed with a colored line to follow that indicates the fastest route to reach the destination 

Future Ambitions:


Our project group has been thinking about adding new options to our application. We thought that adding a trip history feature. It is possible to do this using the databases seen this year. This option will consist of putting a user's journey into a database and for those future destinations if they wish to reach the same destination point the application could provide them with various routes when arriving at the desired point. This functionality is one of the points of future improvements.

Tuteur : Rédha HAMOUCHE