diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 000000000..4589c78bd --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,102 @@ +{ + "projectName": "OpenSign", + "projectOwner": "OpenSignLabs", + "files": [ + "README.md" + ], + "commitType": "docs", + "commitConvention": "angular", + "contributorsPerLine": 7, + "contributors": [ + { + "login": "ajakov", + "name": "Aleksandar Jakovljevic", + "avatar_url": "https://avatars.githubusercontent.com/u/2115393?v=4", + "profile": "https://aleksandarjakovljevic.com/", + "contributions": [ + "code" + ] + }, + { + "login": "nxglabs", + "name": "Amol", + "avatar_url": "https://avatars.githubusercontent.com/u/5486116?v=4", + "profile": "https://github.com/nxglabs", + "contributions": [ + "code" + ] + }, + { + "login": "BuilderPrid", + "name": "Priyanshu Dwivedi", + "avatar_url": "https://avatars.githubusercontent.com/u/106882895?v=4", + "profile": "https://github.com/BuilderPrid", + "contributions": [ + "code" + ] + }, + { + "login": "Tashuuuu", + "name": "Akriti Sengar", + "avatar_url": "https://avatars.githubusercontent.com/u/85075827?v=4", + "profile": "https://github.com/Tashuuuu", + "contributions": [ + "code" + ] + }, + { + "login": "parthrc", + "name": "Parth Chawande", + "avatar_url": "https://avatars.githubusercontent.com/u/101104958?v=4", + "profile": "https://github.com/parthrc", + "contributions": [ + "code" + ] + }, + { + "login": "Rishabh-git10", + "name": "Rishabh Dewangan", + "avatar_url": "https://avatars.githubusercontent.com/u/107680241?v=4", + "profile": "https://github.com/Rishabh-git10", + "contributions": [ + "code" + ] + }, + { + "login": "LemonDrop847", + "name": "Nitin Mishra", + "avatar_url": "https://avatars.githubusercontent.com/u/106615670?v=4", + "profile": "https://github.com/LemonDrop847", + "contributions": [ + "code" + ] + }, + { + "login": "Jobin-S", + "name": "Jobin Selvanose", + "avatar_url": "https://avatars.githubusercontent.com/u/63976083?v=4", + "profile": "http://jobinselvanose.com", + "contributions": [ + "doc" + ] + }, + { + "login": "HansF", + "name": "Hans Fraiponts", + "avatar_url": "https://avatars.githubusercontent.com/u/1503?v=4", + "profile": "https://github.com/HansF", + "contributions": [ + "doc" + ] + }, + { + "login": "Monilprajapati", + "name": "Monil Prajapati", + "avatar_url": "https://avatars.githubusercontent.com/u/99136041?v=4", + "profile": "http://linktr.ee/monilprajapati", + "contributions": [ + "code" + ] + } + ] +} diff --git a/.env.example b/.env.example new file mode 100644 index 000000000..7ca014a84 --- /dev/null +++ b/.env.example @@ -0,0 +1,49 @@ +# Frontend config ************************************************************************************************************************************************************************************************ +# Set CI to false while running the app locally +CI=false +# Set it to the URL form where the app home page will be accessed +PUBLIC_URL=https://app.opensignlabs.com/ +# Set it to true if you want to generate the Sourcemap for debugging +GENERATE_SOURCEMAP=false +# Set it to the URL from where APIs will be accessible, for local development it should be localhost:3000/api/app (use your local port number instead) +REACT_APP_SERVERURL=https://app.opensignlabs.com/api/app +# A 12 character long random app identifier. The value of this should be same as APP_ID which is a variable used by backend API. +REACT_APP_APPID=aDsADsqweqwe +# Google tag manager container id for configuring GTM on all pages of the app +REACT_APP_GTM=GTM-123N7LD + +# Backend ExpressJS config **************************************************************************************************************************************************************************************** +# A 12 character long random app identifier. The value of this should be same as REACT_APP_APPID which is a variable used by Frontend React App. +APP_ID=aDsADsqweqwe +# Name of the app. It will be visible in the verification emails sent out. +appName=open_sign_server +# A 12 character long random secret key that allows access to all the data. It is used in Parse dashboard config to view all the data in the database. +MASTER_KEY=XnAadwKxxByMr +# Mongodb URI to connect to +MONGODB_URI=mongodb://username:password@localhost:27017 +# Path on which APIs should be mounted. Do not change this. This variable shall be removed & value hardcoded in the source code in coming versions. +PARSE_MOUNT=/app +# Set it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:3000/api/app (use your local port number instead) +SERVER_URL=https://app.opensignlabs.com/api/app + +# Storage config ************************************************************************************************************************************************************************************************ +# Digital ocean space name or AWS S3 bucket name for uploading documents +DO_SPACE=DOSPACENAME +# Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents +DO_ENDPOINT=ams3.digitaloceanspaces.com +# Digital ocean baseurl or AWS S3 base URL +DO_BASEURL=https://DOSPACENAME.ams3.digitaloceanspaces.com +# Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs +DO_ACCESS_KEY_ID= +# Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs +DO_SECRET_ACCESS_KEY= +# Digital ocean spaces region or AWS s3 region +DO_REGION=us-west + +# Email mailgun config (The app will not initialize if any of these 3 variables are not set) ********************************************************************************************************************* +MAILGUN_API_KEY= +MAILGUN_DOMAIN=mail.yourdomain.com +MAILGUN_SENDER=postmaster@mail.yourdomain.com + +# Base64 encoded PFX or p12 document signing certificate file ********************************************************************************************************************* +PFX_BASE64= diff --git a/.env.frontend_dev b/.env.frontend_dev new file mode 100644 index 000000000..d36422a82 --- /dev/null +++ b/.env.frontend_dev @@ -0,0 +1,14 @@ +# Clone the repo and rename this file to .env if you want to run the frontend react app locally for some quick contributions to the project. +# When used as it is, this env config will connect to our hosted UAT backend +# Note that any data in staging will get cleared from time to time and you may have to sign up again and again + +# Set CI to false while running the app locally +CI=false +# Set it to the URL form where the app home page will be accessed +PUBLIC_URL=http://localhost:3000 +# Set it to true if you want to generate the Sourcemap for debugging +GENERATE_SOURCEMAP=false +# Set it to the URL from where APIs will be accessible, for local development it should be localhost:3000/api/app (use your local port number instead) +REACT_APP_SERVERURL=https://staging-app.opensignlabs.com/api/app +# A 12 character long random app identifier. The value of this should be same as APP_ID which is a variable used by backend API. +REACT_APP_APPID=opensignstgn diff --git a/INSTALLATION.md b/INSTALLATION.md index 16a49397a..360ca5492 100644 --- a/INSTALLATION.md +++ b/INSTALLATION.md @@ -1,7 +1,7 @@ # INSTALLATON INSTRUCTIONS -You can use our app as a cloud version from [OpenSignLabs](www.opensignlabs.com) +You can use our app as a cloud version from [OpenSignLabs](https://www.opensignlabs.com) or follow below instructions to install it on your own infrastructure. diff --git a/README.md b/README.md index 272bb9306..70c3b4ae4 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,10 @@ The free open source alternative to DocuSign | PandaDoc | SignNow | Adobe Sign | Smartwaiver | SignRequest | HelloSign | Zoho sign. +[](http://isitmaintained.com/project/opensignlabs/opensign "Average time to resolve an issue") + +[](#contributors) + Website • Docs @@ -93,3 +97,33 @@ OpenSign is licensed under the AGPL License. For more details, see the [LICENSE] We would like to thank all our contributors and users for their support and feedback. Special thanks to [OpenSignLabs](https://github.com/OpenSignLabs) for spearheading this initiative. --- + +## Contributors + + + + +
Aleksandar Jakovljevic 💻 |
+ Amol 💻 |
+ Priyanshu Dwivedi 💻 |
+ Akriti Sengar 💻 |
+ Parth Chawande 💻 |
+ Rishabh Dewangan 💻 |
+ Nitin Mishra 💻 |
+
Jobin Selvanose 📖 |
+ Hans Fraiponts 📖 |
+ Monil Prajapati 💻 |
+
](https://www.youtube.com/watch?v=szYaBZhXZNo "OpenSign promo")
diff --git a/apps/OpenSign/src/json/FormJson.js b/apps/OpenSign/src/json/FormJson.js
index e31b1fe03..e7276a9a4 100644
--- a/apps/OpenSign/src/json/FormJson.js
+++ b/apps/OpenSign/src/json/FormJson.js
@@ -123,7 +123,7 @@ export const formJson = (id) => {
Name: {
type: "string",
title: "Title",
- maxLength: 50
+ maxLength: 100
},
Description: {
type: "string",
diff --git a/apps/OpenSign/src/redux/actions/index.js b/apps/OpenSign/src/redux/actions/index.js
index 1901f16c4..8a5734ef9 100644
--- a/apps/OpenSign/src/redux/actions/index.js
+++ b/apps/OpenSign/src/redux/actions/index.js
@@ -8,8 +8,10 @@ export const fetchAppInfo = (str, burl, app_id) => async (dispatch) => {
Parse.initialize(app_id);
const response = appInfo;
- let _base = response.baseurl.charAt(response.baseurl.length - 1);
- localStorage.removeItem("baseUrl");
+ let _base = ""; // Define _base here and initialize it to an empty string
+ if (response && response.baseurl) {
+ _base = response.baseurl.charAt(response.baseurl.length - 1);
+ } localStorage.removeItem("baseUrl");
localStorage.setItem("_appName", response.appname);
localStorage.setItem("_app_objectId", response.objectId);
if (_base === "/") {
diff --git a/apps/OpenSign/src/routes/Login.js b/apps/OpenSign/src/routes/Login.js
index 6477d1193..8eea2dba7 100644
--- a/apps/OpenSign/src/routes/Login.js
+++ b/apps/OpenSign/src/routes/Login.js
@@ -1,4 +1,4 @@
-import React, { Component } from "react";
+import React, { Component, useState } from "react";
import Parse from "parse";
import "../styles/toast.css";
import "../styles/loader.css";
@@ -17,6 +17,7 @@ class Login extends Component {
toastColor: "#5cb85c",
toastDescription: "",
password: "",
+ passwordVisible: false,
mobile: "",
phone: "",
OTP: "",
@@ -1009,9 +1010,14 @@ class Login extends Component {
return