opensignlabs / opensign Goto Github PK
View Code? Open in Web Editor NEW🔥 The free & Open Source DocuSign alternative
Home Page: https://www.opensignlabs.com
License: GNU Affero General Public License v3.0
🔥 The free & Open Source DocuSign alternative
Home Page: https://www.opensignlabs.com
License: GNU Affero General Public License v3.0
design of the login/signup button in the blog section needs to be improved ,some border radius , hover effect needed to be added
When a transparent PNG image is uploaded for annotation, the background turns black after signing.
It should turn white.
We need to create "Deploy to Digital Ocean" button in the README.md file that should ideally setup the entire app on Digital Ocean with once click.
Below are the steps we need to follow -
CI=false
PUBLIC_URL=https://yourdomain.com/
GENERATE_SOURCEMAP=false
REACT_APP_SEVERURL=https://yourdomain.com/api/app
REACT_APP_APPID=opensignnaxn (you can change this if you want)
APP_ID=opensignnaxn (You can change this if you want)
appName=open_sign_server (you can change this if you want)
MASTER_KEY= Any random key that will be used as masterkey(should be at least 12 character long)
MONGODB_URI = mongodb://root:example@opensigndb/OpenSignDB?authSource=admin
PARSE_MOUNT = /app
SERVER_URL= url where api is deployed (in general it is yourdomain.com/api/app
TZ=Asia/Kolkata (timezone)
DO_SPACE= digital ocean space name
DO_ENDPOINT= digital ocean spaces endpoint
DO_BASEURL = digitial ocean spaces base url
DO_ACCESS_KEY_ID= digital ocean access key id
DO_SECRET_ACCESS_KEY = digital ocean secret access key
DO_REGION = us-west (digital ocean region)
MAILGUN_API_KEY = mailgun.com API key
MAILGUN_DOMAIN = mail.yourdomain.com
MAILGUN_SENDER = [email protected]
PFX_BASE64 = base64 encoded document signing certificate - pfx or p12)
Help us in spreading the word about our project which is an open source DocuSign alternative:
Steps to follow -
Submit the links in comment.
K
Steps to re-create:
Create env template file so that new contributors can can make env from the template
After signing a document, currently the document name is generated as below -
"a long document name_signed_by_OpenSign™.pdf"
The filename will look more consistent if it is -
"a_long_document_name_signed_by_OpenSign™.pdf"
Error while Signup
Payload:
{"appName":"contracts","roleName":"contracts_User","userId":"g7tAgnQTjB"}
Response:
{"code":141,"error":"Error:exception in query,Result not Found"}
Change page titles for all pages from -
"contracts - Page Title" to Page Title - OpenSign™
For example -
The title of Dashboard page is "contracts - Dashboard" but it should be Dashboard - OpenSign™
Steps to re-create:
In the screenshot above, the title of the email says "Andrew has signed the doc " even when "Tim" signs the document.
It would be great to have first class support for Google Cloud Platform(GCP) with a Google Cloud Storage(GCS) backend for file objects.
Complete the installation page to describe installing locally
There is no password-show feature on the signup page, but it is on the login page. So I have added that feature to the login page. Please check this out.
One thing I also noticed is that some components are functional and some of them are class-based, so I guess you are restructuring the code. So for now, I have added this feature to the LogIn (class-based component) only.
I'm trying to run OpenSign locally using Docker compose; when I hit the Submit
button, either under Sign Yourself
or Request Signatures
, I hit the error attached below.
I reproduced the same error on v1.0.2
tag and staging
branch.
I've followed installation instructions, and updated the following variables in my .env
file (starting from .env.frontend_dev
):
Anyone have stumbled on this already?
Attaching logs below.
ERROR : Unexpected token '<'
Cannot read properties of undefined (reading '__initialized')
TypeError: Cannot read properties of undefined (reading '__initialized')
at http://localhost:3000/static/js/node_modules_mf-cra_dist_index_js-_1dba0.chunk.js:109:33
at Generator.next (<anonymous>)
at http://localhost:3000/static/js/node_modules_mf-cra_dist_index_js-_1dba0.chunk.js:90:67
at new Promise (<anonymous>)
at __awaiter (http://localhost:3000/static/js/node_modules_mf-cra_dist_index_js-_1dba0.chunk.js:72:10)
at HTMLScriptElement.<anonymous> (http://localhost:3000/static/js/node_modules_mf-cra_dist_index_js-_1dba0.chunk.js:106:44)
OpenSignServer-container | new entry is insert in contracts_Document
OpenSignServer-container | info: afterSave triggered for contracts_Document for user Fa5iA4nN6b:
OpenSignServer-container | Input: {"ACL":{"Fa5iA4nN6b":{"read":true,"write":true},"*":{"read":true,"write":true}},"ExtUserPtr":{"__type":"Pointer","className":"contracts_Users","objectId":"PJbvhSBP7G"},"CreatedBy":{"__type":"Pointer","className":"_User","objectId":"Fa5iA4nN6b"},"URL":"http://127.0.0.1:8080/app/files/opensignstgn/6ee3f92c93d4c44c47a44e7f38547fac_Cartell_EsmorzArt.pdf","Name":"sdfdsf","createdAt":"2023-11-06T19:49:27.300Z","IsCompleted":false,"IsDeclined":false,"SendinOrder":false,"RemindOnceInEvery":5,"AutomaticReminders":false,"SentToOthers":false,"TimeToCompleteDays":15,"updatedAt":"2023-11-06T19:49:27.300Z","objectId":"GrYY3YINBR"} {"className":"contracts_Document","triggerType":"afterSave","user":"Fa5iA4nN6b"}
OpenSignServer-container | info: afterSave triggered for contracts_Document for user undefined:
OpenSignServer-container | Input: {"ExtUserPtr":{"__type":"Pointer","className":"contracts_Users","objectId":"PJbvhSBP7G"},"CreatedBy":{"__type":"Pointer","className":"_User","objectId":"Fa5iA4nN6b"},"URL":"http://127.0.0.1:8080/app/files/opensignstgn/6ee3f92c93d4c44c47a44e7f38547fac_Cartell_EsmorzArt.pdf","Name":"sdfdsf","IsCompleted":false,"IsDeclined":false,"SendinOrder":false,"RemindOnceInEvery":5,"AutomaticReminders":false,"SentToOthers":false,"TimeToCompleteDays":15,"createdAt":"2023-11-06T19:49:27.300Z","updatedAt":"2023-11-06T19:49:27.341Z","ACL":{"Fa5iA4nN6b":{"read":true,"write":true},"*":{"read":true,"write":true}},"ExpiryDate":{"__type":"Date","iso":"2023-11-21T19:49:27.300Z"},"objectId":"GrYY3YINBR"} {"className":"contracts_Document","triggerType":"afterSave"}
OpenSignServer-container | info: afterSave triggered for contracts_Document for user undefined:
OpenSignServer-container | Input: {"ExtUserPtr":{"__type":"Pointer","className":"contracts_Users","objectId":"PJbvhSBP7G"},"CreatedBy":{"__type":"Pointer","className":"_User","objectId":"Fa5iA4nN6b"},"URL":"http://127.0.0.1:8080/app/files/opensignstgn/6ee3f92c93d4c44c47a44e7f38547fac_Cartell_EsmorzArt.pdf","Name":"sdfdsf","IsCompleted":false,"IsDeclined":false,"SendinOrder":false,"RemindOnceInEvery":5,"AutomaticReminders":false,"SentToOthers":false,"TimeToCompleteDays":15,"createdAt":"2023-11-06T19:49:27.300Z","updatedAt":"2023-11-06T19:49:27.341Z","ACL":{"Fa5iA4nN6b":{"read":true,"write":true},"*":{"read":true,"write":true}},"ExpiryDate":{"__type":"Date","iso":"2023-11-21T19:49:27.300Z"},"objectId":"GrYY3YINBR"}
OpenSignServer-container | Result: undefined {"className":"contracts_Document","triggerType":"afterSave"}
OpenSignServer-container | info: afterSave triggered for contracts_Document for user Fa5iA4nN6b:
OpenSignServer-container | Input: {"ACL":{"Fa5iA4nN6b":{"read":true,"write":true},"*":{"read":true,"write":true}},"ExtUserPtr":{"__type":"Pointer","className":"contracts_Users","objectId":"PJbvhSBP7G"},"CreatedBy":{"__type":"Pointer","className":"_User","objectId":"Fa5iA4nN6b"},"URL":"http://127.0.0.1:8080/app/files/opensignstgn/6ee3f92c93d4c44c47a44e7f38547fac_Cartell_EsmorzArt.pdf","Name":"sdfdsf","createdAt":"2023-11-06T19:49:27.300Z","IsCompleted":false,"IsDeclined":false,"SendinOrder":false,"RemindOnceInEvery":5,"AutomaticReminders":false,"SentToOthers":false,"TimeToCompleteDays":15,"updatedAt":"2023-11-06T19:49:27.300Z","objectId":"GrYY3YINBR"}
OpenSignServer-container | Result: undefined {"className":"contracts_Document","triggerType":"afterSave","user":"Fa5iA4nN6b"}
OpenSignServer-container | info: afterSave triggered for contracts_Document for user undefined:
OpenSignServer-container | Input: {"ExtUserPtr":{"__type":"Pointer","className":"contracts_Users","objectId":"PJbvhSBP7G"},"CreatedBy":{"__type":"Pointer","className":"_User","objectId":"Fa5iA4nN6b"},"URL":"http://127.0.0.1:8080/app/files/opensignstgn/6ee3f92c93d4c44c47a44e7f38547fac_Cartell_EsmorzArt.pdf","Name":"sdfdsf","IsCompleted":false,"IsDeclined":false,"SendinOrder":false,"RemindOnceInEvery":5,"AutomaticReminders":false,"SentToOthers":false,"TimeToCompleteDays":15,"createdAt":"2023-11-06T19:49:27.300Z","updatedAt":"2023-11-06T19:49:27.386Z","ExpiryDate":{"__type":"Date","iso":"2023-11-21T19:49:27.300Z"},"ACL":{"Fa5iA4nN6b":{"read":true,"write":true}},"objectId":"GrYY3YINBR"} {"className":"contracts_Document","triggerType":"afterSave"}
OpenSignServer-container | info: afterSave triggered for contracts_Document for user undefined:
OpenSignServer-container | Input: {"ExtUserPtr":{"__type":"Pointer","className":"contracts_Users","objectId":"PJbvhSBP7G"},"CreatedBy":{"__type":"Pointer","className":"_User","objectId":"Fa5iA4nN6b"},"URL":"http://127.0.0.1:8080/app/files/opensignstgn/6ee3f92c93d4c44c47a44e7f38547fac_Cartell_EsmorzArt.pdf","Name":"sdfdsf","IsCompleted":false,"IsDeclined":false,"SendinOrder":false,"RemindOnceInEvery":5,"AutomaticReminders":false,"SentToOthers":false,"TimeToCompleteDays":15,"createdAt":"2023-11-06T19:49:27.300Z","updatedAt":"2023-11-06T19:49:27.386Z","ExpiryDate":{"__type":"Date","iso":"2023-11-21T19:49:27.300Z"},"ACL":{"Fa5iA4nN6b":{"read":true,"write":true}},"objectId":"GrYY3YINBR"}
OpenSignServer-container | Result: undefined {"className":"contracts_Document","triggerType":"afterSave"}
there is already another opensource signing repo: https://github.com/docusealco/docuseal
what are the advantages and disadvantages?
I am setting up the server on my VM.
After doing docker-compose up -d
, the server is not starting up. On checking logs, I found the below error:
Error [ERR_REQUIRE_ESM]: require() of ES Module /usr/src/app/cloud/main.js from /usr/src/app/node_modules/parse-server/lib/ParseServer.js not supported.
Instead change the require of main.js in /usr/src/app/node_modules/parse-server/lib/ParseServer.js to a dynamic import() which is available in all CommonJS modules.
at ParseServer.start (/usr/src/app/node_modules/parse-server/lib/ParseServer.js:138:13)
at async file:///usr/src/app/index.js:132:3 {
code: 'ERR_REQUIRE_ESM'
}
/usr/src/app/node_modules/parse-server/lib/ParseServer.js:138
require(path.resolve(process.cwd(), cloud));
^
Error [ERR_REQUIRE_ESM]: require() of ES Module /usr/src/app/cloud/main.js from /usr/src/app/node_modules/parse-server/lib/ParseServer.js not supported.
Instead change the require of main.js in /usr/src/app/node_modules/parse-server/lib/ParseServer.js to a dynamic import() which is available in all CommonJS modules.
at ParseServer.start (/usr/src/app/node_modules/parse-server/lib/ParseServer.js:138:13)
at async file:///usr/src/app/index.js:132:3 {
code: 'ERR_REQUIRE_ESM'
}
Getting this error on Node 16 and 18.
Steps to re-produce -
The screen stucks at the loader displaying "this might take some time".
Expected outcome -
It should successfully sign the document
Spam
I will make it more dynamic and user-friendly by adding animation using framer motion to the main page.
There is a link to a USAGE document, which is now 404. I tried to find it, but didn't have much luck after a few minutes.
Steps to re-create:
After signing a document, the page shows the error (twice) Failed to load PDF file.
. Inspecting the browser console, I found a probably relevant log:
Access to fetch at 'https://foo.nyc3.digitaloceanspaces.com/exported_file_4627_0000-00-00T00%3A45%3A43.344Z.pdf' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
rm -rf apps/OpenSign/public/mfbuild
cd microfrontends/SignDocuments && npm install && npm run build && cd ../..
cp .env.local_dev .env
docker compose up -d
The preview of the signed PDF
Error message Failed to load PDF file.
, shown twice (in the Pages
left column and in the main column)
After signing the documents and saving it, the download button works well, but when the print button is clicked, it shows a runtime error.
Change copyright notice from "All Rights Reserved © 2023 Contracts (version: 0.1.0.0.1)" to "All Rights Reserved © 2023 OpenSign (version: 0.1.0.0.1)".
Make sure you dont change any variables. You only need to hard-code the value "OpenSign" instead of the "Contracts".
building some docs for devs of this library, still early days so feedback is welcome to enhance it.
WDYT?
Change the message from "You didn't add your default signature yet!" to "Click a signature placeholder to start signing the document!"
Steps to re-create:
Error 1:
PS > docker compose up -d
Error response from daemon: invalid reference format: repository name must be lowercase
Error 2:
Failed to load \codebase\OpenSign\OpenSignServer\.env: open \codebase\OpenSign\OpenSignServer\.env: The system cannot find the path specified.
Error 3: Unable to build DockerFile
> [server 3/5] COPY apps/OpenSignServer/package*.json ./:
------
failed to solve: lstat /var/lib/docker/tmp/buildkit-mount2120675588/apps/OpenSignServer: no such file or directory
Steps to reproduce:
Yes
At this point I'd have expected to be redirected to the document signature screen, but instead, the following error was shown: Cannot read properties of undefined (reading 'roundedStep')
Help us test our app which is an open source DocuSign alternative.
Steps to follow -
Your newly created issues will be labelled 'hacktoberfest' if accepted.
I was setting up this project in my device and i found this issue: it shows "cannot read properties of undefined" in charAt which is in Redux -> action -> index.js
Can anyone confirm that they are also getting this error while setting up the project? If yes, then I have already solved it and created a PR for it. If you find it suitable, then you can merge it !!
Would be great to have a "production" version published to dockerhub / ghcr / etc.
This will also allow for a simpler docker compose set up.
Would be good to have a fully self-hosted version by ditching the s3, and using a the compatible minio api please ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.