This repository contains code for our project chimPrint submitted as part of the DocuSign Good code hackathon : https://docusign2021.devpost.com/
The website helps Participatory Mapping for Collaborative Conservation Planning with Decision-Makers Sign-off in accordance with the Jane Goodall institute challenge track of the DocuSign Good code hackathon
The well known cycle of clone-modify-review-merge is prevalent in any code version control system(such as Github) and we drew inspiration from this to apply it for the specific case of Maps as was required for the challenge. Here are the key features of this webapp:
- Allow users to clone existing maps and add/update features on them
- Merge changes on one map onto the other so all changes can be consolidated
- Track history of changes on any map so each change is well documented
- Approve a map for ready for distribution and decision makers provide their sign through the DocuSign Interface
We have the following problems and their corresponding solutions
#1 How do we allow any stakeholder to propose a change/add a feature to a map while keeping the original map intact?
For this, cloning a map is the best solution so any changes being proposed can be added to the new map that was cloned
We grant edit/merge permissions to certain users and only those users can merge the changes on one map to the map that it was originally cloned from
We do something similar to documenting the commit history of code as is used in vcs by storing all history of changes
The above problem/solution pairs clearly lead to the need of a map version contol system that incorporates the clone-modify-review-merge cycle
- Frontend: HTML, CSS, Vanilla JS
- Backend: Flask
- IDE: VS Code
- Version Control: Git and GitHub
- Database: FlaskSQLAlchemy
- API: DocuSign eSignature API, ARCgis js 3.37 API
A Working demo detailing the features of our webapp