Giter Club home page Giter Club logo

esigning's Introduction

e-Sign Microservice

e-Sign Microservice is an open-source solution that allows businesses to securely sign documents online. This service is designed to offer more control, flexibility, and cost savings compared to third-party e-Signing services. Here is the article which talks about this implementation in detail: From Dependency to Autonomy: Building an In-House E-signing Service

Table of Contents

Features

  • Securely sign documents.
  • Secured artifacts (Signed PDF Documents) that can’t be tampered with after digital signing.
  • Compliance with the e-Sign Act and Regulatory Standards.
  • Cost-efficient and scalable.
  • Channel-agnostic design for seamless integration across platforms.
  • Built with a tech stack including Spring Boot, Java, MySQL and other cloud services.

Demo

RPReplay_Final1708437520.MP4
Screen.Recording.2024-02-21.at.2.26.28.PM.mov

Sample loan agreement: Master-Promissory-Note.pdf

Prerequisites

  • Java JDK 8 or higher
  • MySQL
  • AWS Account (for S3 storage)

Setup & Installation

  1. Clone the repository: Use the command git clone https://github.com/iCreateWorks/esigning.git to clone the repository to your local machine.

  2. Navigate to the project directory.

  3. Install Maven dependencies: Run 'mvn install' to install the necessary dependencies.

  4. Configure Environment Variables: Set up the required environment variables as described in the Environment Variables section.

  5. Run the application: Execute java -jar target/esigning-0.0.1-SNAPSHOT.jar to start the service.

Environment Variables

To run this project, you will need to set the following environment variables:

  • SPRING_ESIGN_DB_URL: JDBC URL for the database.
  • SPRING_ESIGN_DB_USER: Database username.
  • SPRING_ESIGN_DB_PASS: Database password.
  • S3_BUCKET_NAME: S3 bucket name.
  • S3_BUCKET_REGION: S3 bucket region.

Following is the sample application.properties files, where environment variables have been replaced with actual sample values:
server.port=8081
server.servlet.context-path=/api/e-sign/v1
spring.esign.datasource.jdbc-url=jdbc:mysql://localhost:3306/e-sign?allowPublicKeyRetrieval=true&useSSL=false
spring.esign.datasource.username=e-sign
spring.esign.datasource.password=Password1
spring.esign.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.esign.datasource.minimumIdle=5
spring.esign.datasource.maxLifetime=120000
spring.jpa.database-platform = org.hibernate.dialect.MySQL5Dialect
spring.jpa.properties.hibernate.proc.param_null_passing=true

s3.bucket.name=esign-docs
s3.bucket.region=us-east-1

esign.entrust.keystore.passphrase=esignphasphrase
esign.entrust.cert.path=/jks/entrust.p12
esign.entrust.pdf.owner.password=esignpdfownerpassword

esigning's People

Contributors

aamolgote avatar amolgote avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.