GithubHelp home page GithubHelp logo

natlify / docusign-goodcode-2022-submission Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 14.86 MB

Zapene : A Submission Repo for docusign GoodCode Hackathon 2022

Home Page: https://zapene-app.herokuapp.com

License: MIT License

Shell 0.57% Procfile 0.01% JavaScript 75.39% CSS 11.74% HTML 0.69% EJS 11.59%

docusign-goodcode-2022-submission's Introduction

Inspiration

Being in tech for a few years now, I always asked myself the dreaded question — “Does the work I do really matter?” We as a team are always concerned about making a real life impact and ensuring that the work we do helps the people around us. The Good Code Hackathon gave us this opportunity. It opened our eyes to the fact that tech is really changing lives around the world.

We were excited to partner with Jane Goodall Institution and help out in any tiny way that we could through this Hackathon. The problem statement really intrigued us because it was a refreshing change from the usual SaaS, crypto or deep-tech projects that we work on.

App Idea 💡

The Robust Gameboy - Do you hear it? Also our application is heavily inspired by Nintendo GameBoy. We wanted to make our application pretty straightforward, same time intriguing. [UI] has only 4 buttons but does everything it needs to do. And more than anything, a plug & play module that can take in any platform and adapt to it.

Configurability

Since the app is going to be used on ground by volunteers in remote areas, one thing we had to factor in is : How quickly things can change on ground. So we decided that we will keep most of the configuration out of the code so that reactive changes can be done without a developer's presence or need to update code.

So we were clear that we wanted to use DocuSign Templates Extensively.

What it does

Highlights of Application

🗃📚 Integrates Data from ArcGIS & Survey123 in 1-Click

Happens in background, probably you won't even notice

🚀 Generates a dynamic document and dispatches to signers

No filling of complex webforms any more. Documents within the DocuSign Envelope become validation application

🍄 Ultra Simple UI and Most wanted intuitive flows

Provision to handle sensitive images separately. 5yo can operate this.

🔒 In Built Security

Data doesn’t get copied to any external servers including Zapene’s frontend. All processing happens on mediaValet and DocuSign Envelopes itself.

How we built it

We started by putting ourselves in end users shoes. What do they seek... what is their biggest pain point.. Where can we add value. The problem statement's scope was very large ; meaning lot of areas one could potentially cover (like uploading assets to media-valet for example). However we wanted to focus on a core set of requirements that could be completed within the time-frame of the hack.

Each one in our team brought their best forward with their skils, and helped to design, plan and develop the product.

Via our project you can see the following APIs, Services and features in action. They power our app to fully achieve what it intends to do

  • eSignature API
  • DocuSign Templates with AutoPlace DocuSign Auth Mechanism : JWT Grant
  • Dynamic Document Addition to Envelopes created from Templates.
  • DocuSign Connect for event notifications
  • Click API
  • Embedded Signing Mechanism
  • Brand Feature from DocuSign
  • Query a feature layer from ArcGIS
  • SceneView API from Esri to programtically take screenshots of map

Challenges we ran into

The biggest challenge we tackled :

We loved Power Forms for its simplicity and ease of integration, however we couldn’t extract the degree of customization we wanted to provide to our users. At the same time it was a huge task to configure everything via eSign APIs. We knew we wanted to have the best of worlds; where we leverage the DocuSign Dashboard to do & manage configurations, at the same time without losing the customization of our documents, its format and the richness. This way we could keep configs outside of code, (better way to manage) and not churn out a lot of code, to create workflows.

Few Other Challenges

  • Adding images to document during generation, rather than adding it as a separate document.
  • Navigating through All SDKs’ docs & their nuances. **documentTemplateList** is an Object. but **documentTemplate** is an Array (List)!
  • Working with envelope drafts ; gave us a hard time - figure some niche errors from SDK
  • Working with barebones REST Api for Media Valet
  • Working around Click API library Not having a ES Module / NPM Package. Had to work out it's usage in react app

Accomplishments that we're proud of

  • Our hack is much more than code. Not everyone on our team is a developer and so unlike most of the hacks ours has lesser code. We have resorted to use existing platforms and tooling without reinventing the wheel wherever possible 🌈
  • Inspite of several technical challenges our team mates never shied away from reaching out for help. Some of us are happy and proud that extremely introverted others have come out of their shells. 🐢 😛
  • Our UI - This time our app interface looks slick and clean, being non-designers, we're definetly patting on each others back for that.
  • Final Presentation Video - Initially we were worried about exceeding the time limit for the presentation. But we are proud that we put our heads together and re-worked on storyboard and got it under time. Someone can't stop beaming 😊
  • Turning in a submission itself feels like a big accomplishment, honestly we never thought we could come this far. Proud of reaching the finish line. 🏁

What we learned

We explored new frontiers in this hack. One of our biggest takeaways was learning about the two mammoth platforms — Esri’s ArcGIS and DocuSign. Both have enormous developer support and extensive documentation. Although it was a bit intimidating at first, once we started going over the docs over the past week or so, we did become familiar with them slowly.

We have played with DocuSign APIs so much, and have an in-depth understanding of how they work, where they behave differently etc. Cos we pushed the API to their limits by trying to adapt them to unfathomable use-cases and scenarios, exploring every single method a class possibly offers.

Another learning although not related to coding or building was time management and async work. All of us were distributed across time zones and had to work remotely; while managing our day jobs. We had to plan out our entire hack in such a way that we got most stuff done late at night & during weekends. We were constantly in touch through the day, collecting information and brainstorming solutions.

What's next for Zapene

We arrived on the scene pretty late. Owing to a delayed start to the hackathon, we couldn’t fully implement all the features & ideas we planned for.

Listing a few of them down, as where to go from here :

  • Batch Processing of Images
  • Bug Bashing for edge cases
  • Migrating to NextJS for improved performance
  • Enhancing RBAC on the platform
  • Supporting upload from our portal
  • Adding
  • Automatically moving sensitive images to a Restricted Access Group on Media valet [WIP]
  • Exploring use-cases of DocuSign Admin API for management [WIP]
  • Using ArcGIS StoryMaps to display audit trail of a camera

docusign-goodcode-2022-submission's People

Contributors

hbthck avatar

Stargazers

Naveen Kumar Jha avatar Manikant Kella avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.