GSoC 2018: MapMint4ME- Supporting Other Geometries Recording

This is where I'll be posting information about MapMint4ME- Supporting Other Geometries Recording GSoC 2018 project to the OSGeo community.
== Introduction ==
The MapMint4ME holds the capability to store the position of a point feature when acquired using the Android application. This geometry information is stored in the SQLite database of the MapMint4ME Android application. The same information can be visualized using the web-application of MapMint by transferring the corresponding feature information.
We need to expand this idea to store linear as well as polygonal geometries information in the MapMint4ME. The features associated with these geometries would then be overlayed upon the base maps in the MapMint and MapMint4ME interfaces for visualization. Moreover, this would give users the capability to create the new line and polygon features with corresponding attributes.
=== Idea ===
Improve MapMint4ME by adding support other geometries recording on the field
== Project ==
Title: MapMint4ME- Supporting Other Geometries Recording
Student: DIOUF Iba
Mentors: Gérald Fenoy Rajat Shinde.
== Details ==
The development process can be monitored at the following links:
* https://summerofcode.withgoogle.com/projects/?sp-search=mapmint4me#6737939497746432 - Project GSoC 2018 application Link
* https://github.com/mapmint/MapMint4ME - Project Main Repo. Link
* https://github.com/idiouf/MapMint4ME - Forked Github Repo. Link
* https://github.com/idiouf/MapMint4ME--Supporting-Other-Geometries-Recording - Project GitHub testing Repo. Link
== Implementation details ==
I will use Android Studio to build a new version of the MapMint4ME application. It will lead me to write some JavaScript code to add the capability to handle line and polygon recording on the field. So, my main focus will be to understand how the JavaScript code is handled from an Android Application and learn about the OpenLayers that is used in MapMint4ME application.
Mapmint offers already the capability to track the user position on a map. So this capability will be modified to handle recording the track shown on the map rather than simply display it as it is the case by now.
In the new version of MapMint, it is already possible to edit geographic feature for both Points, Lines and Polygons. This tool has been integrated lately and we will take advantages of this new capability. 
== Schedule ==
Dates 	Task
Week 1 (May, 14 - May, 20) 	Starting implementation for Lines support in MapMint4ME
Week 2 (May, 21 - May, 27) 	Add support for uploading the lines back to the MapMint server
Week 3 (May, 28 - June, 3) 	Write a brief documentation about, how the tool should be used.
Week 4 (June, 4 - June, 10) 	Test the tool to record data on the field
Week 5 (June, 11 - June, 15) Phase 1 Evaluation 	TMentors evaluation time.
Week 6 (June, 16 - June, 24) 	Add the polygons support in MapMint4ME and upload capability
Week 7 (June, 25 - July, 1) 	Create Documentation
Week 8 (July, 2 - July, 8) 	Create Documentation
Week 9 (July, 9 - July, 13) Phase 2 Evaluation 	Mentors evaluation time.
Week 10 (July, 14 - July, 22) 	Use a  validation service when importing the data and report any failure.
Week 11 (July, 23 - July, 29) 	Fix bugs in the code.
Week 12 (July, 30 - August, 5) 	Improve Documentation and the code.
Week 13 (August, 6 - August, 14) Final evaluation	Buffer period. ( Final Week. Prepare documentation for final submission.).
== Reports ==
Dear community members, The community connection period was a great experience for me. During this time, I installed Android Studio in the machine and discussed how MapMint works with mentors. i installed vittualbox and ubuntu and finalizing the installation of MapMint.
Sincerely Iba
==== Coding Period: Week 1: May 14 to May 20 ====
===== The part I finished in this period: =====
# MapMint installed: http: // localhost / ui / Dashboard_bsI 
# Published my first map: http: // localhost / ui / preview / leftcol_bs 
# tried to understand the coding of MapMint.
===== Results and difficulties encountered during installation: =====
Always dependencies must be checked each time before installation.The big problem I encountered during the installation was at ansible-playbook -s server.yml -u root.
===== The part, I plan to finish in the coming period: =====
Add support for uploading line (topology) to MapMint Server.
https://wiki.osgeo.org/wiki/GSoC_2018:_MapMint4ME-_Supporting_Other_Geometries_Recording
==== Coding Period: Week 2: May 20 to May 27 ====
===== The part I finished in this period: =====
# I made my second map with the road network on MapMint [1].
# I created the tables on my ubuntu and you can see an example I did on the roads in this site below [2].
# I downloaded my Android Studio and started installing it.
===== The part, I plan to finish in the coming period: =====
Documentation tests on MapMint.
Write brief documentation on how the tool should be used.
===== Are you stuck on anything? =====
No. Currently, I am not blocked.
* http: // localhost / ui / preview / leftcol_bs # [1]
* http: // localhost / ui / Tables_bs # adder [2]
* https://wiki.osgeo.org/wiki/GSoC_2018:_MapMint4ME-_Supporting_Other_Geometries_Recording
* https://github.com/idiouf/MapMint4ME
Regards,
Iba DIOUF
=== SoC mailing list ===
* email to: SoC@lists.osgeo.org
* subscribe at https://lists.osgeo.org/mailman/listinfo/soc
Dear members of the community,
Coding period: Week 3: May 28 to June 3
The part I finished in this period:
1. I downloaded my Android Studio to my virtual machine and installed it.
2.I started to compile the MapMint4ME with my Android Sudio.
3. Write brief documentation on how the tool should be used.
I plan to finish in the coming period:
Test the tool to record field data
Are you stuck on something?
No. Currently, I am not blocked.
https://github.com/idiouf/MapMint4ME
https://wiki.osgeo.org/wiki/GSoC_2018:_MapMint4ME-_Supporting_Other_Geometries_Recording
https://wiki.osgeo.org/wiki/GSoC_2018:_MapMint4ME-_Supporting_Other_Geometries_Recording
Regards,
Iba DIOUF
_______________________________________________
SoC mailing list
SoC@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/soc
Dear members of the community,Greetings.
Please find my report for the 4th week of Coding Period.
Coding period: Week 4: June 4th to June 10th
The part I finished in this period:
1. Android Studio installed and well set
	I was having some issue in compiling the MapMint4ME Android app with the Android Studio Virtual Emulator because of upgradation of packages. Finally, we were able to overcome the issue after adding a patch.
2. MapMint4ME compiled with my Android Sudio.
	I was able to run the application on the emulated device. We have planned to work on the emulated device and then test it on the real device.
3. Test the tool to save the data to the field.
	I tried to enter data from the MM4ME android app and see it on the MapMint Web app. I am still working on this. 
What are you planning to do next week?
	I plan to complete addition of data values from the MM4ME app and then visualize that data from the MapMint web app. 
	Also, I plan to work on the documentation and discuss the plans for upcoming period with the mentors.
Are you stuck on something?
No, for the moment I'm not stuck.
Link to wiki: https://wiki.osgeo.org/wiki/GSoC_2018:_MapMint4ME_Supporting_Other_Geometri s_Recording
Link to commits: https://github.com/idiouf/MapMint4ME/commit/379d09d69d09f310ceed4c2cb8f76202390118dc
Github Link: https://github.com/idiouf/MapMint4ME--Supporting-Other-Geometries-Recording
Regards,
Iba DIOUF
== Student's Biography ==
My name is Iba Diouf. I come from Senegal and am currently in master degree in Geomatics at Montpellier 3 University, Montpellier, France. 
Category: Google Summer of Code