iCreditWorks offers a simple, seamless, and secure mobile loan application process. iCreditWorks utilizes this e-Signing service for it customers to sign loan agreements.
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
https://github.com/iCreateWorks/esigning/assets/50334500/49dddfee-c9bb-4ef8-a762-037bc38fa56c
https://github.com/iCreateWorks/esigning/assets/50334500/a4c77f27-8919-4f4d-84d6-260b922fb409
Sample loan agreement: Master-Promissory-Note.pdf
Clone the repository: Use the command git clone https://github.com/iCreateWorks/esigning.git to clone the repository to your local machine.
Navigate to the project directory.
Install Maven dependencies: Run 'mvn install' to install the necessary dependencies.
Configure Environment Variables: Set up the required environment variables as described in the Environment Variables section.
Run the application: Execute java -jar target/esigning-0.0.1-SNAPSHOT.jar to start the service.
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