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
Would be great to have a "production" version published to dockerhub / ghcr / etc.
This will also allow for a simpler docker compose set up.
Spam
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.
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"
After signing the documents and saving it, the download button works well, but when the print button is clicked, it shows a runtime error.
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.
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)
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.
Create env template file so that new contributors can can make env from the template
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 !!
Steps to re-create:
Steps to re-create:
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".
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.
design of the login/signup button in the blog section needs to be improved ,some border radius , hover effect needed to be added
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')
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"}
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:
Would be good to have a fully self-hosted version by ditching the s3, and using a the compatible minio api please ?
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â˘
K
I will make it more dynamic and user-friendly by adding animation using framer motion to the main page.
there is already another opensource signing repo: https://github.com/docusealco/docuseal
what are the advantages and disadvantages?
Steps to re-produce -
The screen stucks at the loader displaying "this might take some time".
Expected outcome -
It should successfully sign the document
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
Complete the installation page to describe installing locally
Error while Signup
Payload:
{"appName":"contracts","roleName":"contracts_User","userId":"g7tAgnQTjB"}
Response:
{"code":141,"error":"Error:exception in query,Result not Found"}
building some docs for devs of this library, still early days so feedback is welcome to enhance it.
WDYT?
Help us in spreading the word about our project which is an open source DocuSign alternative:
Steps to follow -
Submit the links in comment.
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.
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)
When a transparent PNG image is uploaded for annotation, the background turns black after signing.
It should turn white.
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.