mirror of
https://github.com/documenso/documenso.git
synced 2026-07-02 09:10:42 +10:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6b3696d879 | |||
| ca1522a31e | |||
| 201c0ac22a | |||
| c573e15ac2 | |||
| e5a80a701f | |||
| f8aebbc484 | |||
| 4e60d4ac09 | |||
| b5328eebde | |||
| e87c57c97c | |||
| cef5c8e33f | |||
| b03dd1553f | |||
| f6d1b8c8a1 | |||
| cb29ffef37 | |||
| f7d0bb9823 |
+1
-1
@@ -12,7 +12,7 @@ If you plan to contribute to Documenso, please take a moment to feel awesome ✨
|
||||
|
||||
- The development branch is <code>main</code>. All pull request should be made against this branch.
|
||||
- If you need help getting started, [join us on Slack](https://documen.so/slack).
|
||||
- Use [Convential Commits](https://www.conventionalcommits.org/) to keep everything nice and clean.
|
||||
- Use [Conventional Commits](https://www.conventionalcommits.org/) to keep everything nice and clean.
|
||||
- Choose your branch name using the issue you are working on and a coventional commit type.
|
||||
|
||||
1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<a href="https://documenso.com"><strong>Learn more »</strong></a>
|
||||
<br />
|
||||
<br />
|
||||
<a href="https://documen.so/slack">Slack</a>
|
||||
<a href="https://documen.so/discord">Discord</a>
|
||||
·
|
||||
<a href="https://documenso.com">Website</a>
|
||||
·
|
||||
@@ -20,7 +20,7 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://documen.so/slack"><img src="https://img.shields.io/badge/Slack-documenso.slack.com-%234A154B" alt="Join Documenso on Slack"></a>
|
||||
<a href="https://documen.so/discord"><img src="https://img.shields.io/badge/Discord-documen.so/discord-%235865F2" alt="Join Documenso on Discord"></a>
|
||||
<a href="https://github.com/documenso/documenso/stargazers"><img src="https://img.shields.io/github/stars/documenso/documenso" alt="Github Stars"></a>
|
||||
<a href="https://github.com/documenso/documenso/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-AGPLv3-purple" alt="License"></a>
|
||||
<a href="https://github.com/documenso/documenso/pulse"><img src="https://img.shields.io/github/commit-activity/m/documenso/documenso" alt="Commits-per-month"></a>
|
||||
@@ -204,10 +204,17 @@ Want to create a production ready docker image? Follow these steps:
|
||||
- Run `./docker/build.sh` in the root directory.
|
||||
- Publish the image to your docker registry of choice.
|
||||
|
||||
# Deploying - Coming Soon™
|
||||
# Deployment
|
||||
|
||||
- Docker support
|
||||
- One-Click-Deploy on Render.com
|
||||
We support a variety of deployment methods, and are actively working on adding more. Stay tuned for updates!
|
||||
|
||||
## Railway
|
||||
|
||||
[](https://railway.app/template/DjrRRX)
|
||||
|
||||
## Render
|
||||
|
||||
[](https://render.com/deploy?repo=https://github.com/documenso/documenso)
|
||||
|
||||
# Troubleshooting
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ export const BillingPlans = () => {
|
||||
</p>
|
||||
|
||||
<p className="mt-4 text-center text-sm text-gray-500">
|
||||
All you need for easy signing. <br></br>Includes everthing we build this year.
|
||||
All you need for easy signing. <br></br>Includes everything we build this year.
|
||||
</p>
|
||||
<div className="mt-4">
|
||||
<Button
|
||||
|
||||
@@ -30,7 +30,7 @@ export default function PDFEditor(props: any) {
|
||||
movedField.positionY = position.y.toFixed(0);
|
||||
createOrUpdateField(props.document, movedField);
|
||||
|
||||
// no instant redraw neccessary, position information for saving or later rerender is enough
|
||||
// no instant redraw necessary, position information for saving or later rerender is enough
|
||||
// setFields(newFields);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ export default function SignatureDialog(props: any) {
|
||||
const [typedSignature, setTypedSignature] = useState("");
|
||||
const [signatureEmpty, setSignatureEmpty] = useState(true);
|
||||
// This is a workaround to prevent the canvas from being rendered when the dialog is closed
|
||||
// we also need the debounce to avoid rendering while transitions are occuring.
|
||||
// we also need the debounce to avoid rendering while transitions are occurring.
|
||||
const showCanvas = useDebouncedValue<boolean>(props.open, 1);
|
||||
let signCanvasRef: any | undefined;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"start": "next start -p $PORT",
|
||||
"lint": "next lint",
|
||||
"db-studio": "prisma db studio",
|
||||
"stripe:listen": "stripe listen --forward-to localhost:3000/api/stripe/webhook"
|
||||
|
||||
@@ -61,9 +61,9 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) {
|
||||
return res.status(200).send(recipients.length);
|
||||
}
|
||||
|
||||
return res.status(502).end("Coud not send request for signing.");
|
||||
return res.status(502).end("Could not send request for signing.");
|
||||
} catch (err) {
|
||||
return res.status(502).end("Coud not send request for signing.");
|
||||
return res.status(502).end("Could not send request for signing.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) {
|
||||
for (const signature of signaturesFromBody) {
|
||||
if (!signature.signatureImage && !signature.typedSignature) {
|
||||
documentWithInserts = document.document;
|
||||
throw new Error("Cant't save invalid signature.");
|
||||
throw new Error("Can't save invalid signature.");
|
||||
}
|
||||
|
||||
await saveSignature(signature);
|
||||
|
||||
@@ -31,7 +31,7 @@ export function getServerErrorFromUnknown(cause: unknown): HttpError {
|
||||
return new Error(cause, { cause });
|
||||
}
|
||||
|
||||
// Catch-All if none of the above triggered and something (even more) unexpected happend
|
||||
// Catch-All if none of the above triggered and something (even more) unexpected happened
|
||||
return new HttpError({
|
||||
statusCode: 500,
|
||||
message: `Unhandled error of type '${typeof cause}'. Please reach out for our customer support.`,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import fs from "fs";
|
||||
import { PDFDocument, PDFHexString, PDFName, PDFNumber, PDFString } from "pdf-lib";
|
||||
|
||||
// Local copy of Node SignPDF because https://github.com/vbuch/node-signpdf/pull/187 was not published in NPM yet. Can be switched to npm packge.
|
||||
// Local copy of Node SignPDF because https://github.com/vbuch/node-signpdf/pull/187 was not published in NPM yet. Can be switched to npm package.
|
||||
const signer = require("./node-signpdf/dist/signpdf");
|
||||
|
||||
export const addDigitalSignature = async (documentAsBase64: string): Promise<string> => {
|
||||
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
services:
|
||||
- type: web
|
||||
name: documenso-app
|
||||
env: node
|
||||
plan: free
|
||||
buildCommand: npm i turbo && npm install --package-lock-only && npm ci && npm run build
|
||||
startCommand: npx prisma migrate deploy; npm run start
|
||||
healthCheckPath: /api/health
|
||||
|
||||
envVars:
|
||||
- key: NODE_VERSION
|
||||
value: 18.17.0
|
||||
|
||||
- key: DATABASE_URL
|
||||
fromDatabase:
|
||||
name: documenso-db
|
||||
property: connectionString
|
||||
|
||||
- key: NEXT_PUBLIC_WEBAPP_URL
|
||||
fromService:
|
||||
name: documenso-app
|
||||
type: web
|
||||
envVarKey: RENDER_EXTERNAL_URL
|
||||
|
||||
- key: NEXTAUTH_SECRET
|
||||
generateValue: true
|
||||
|
||||
- key: NEXTAUTH_URL
|
||||
fromService:
|
||||
name: documenso-app
|
||||
type: web
|
||||
envVarKey: RENDER_EXTERNAL_URL
|
||||
|
||||
- key: SENDGRID_API_KEY
|
||||
sync: false
|
||||
- key: SMTP_MAIL_HOST
|
||||
sync: false
|
||||
- key: SMTP_MAIL_PORT
|
||||
sync: false
|
||||
- key: SMTP_MAIL_USER
|
||||
sync: false
|
||||
- key: SMTP_MAIL_PASSWORD
|
||||
sync: false
|
||||
- key: MAIL_FROM
|
||||
sync: false
|
||||
|
||||
- key: NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS
|
||||
value: false
|
||||
- key: STRIPE_API_KEY
|
||||
sync: false
|
||||
- key: STRIPE_WEBHOOK_SECRET
|
||||
sync: false
|
||||
- key: NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID
|
||||
sync: false
|
||||
- key: NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID
|
||||
sync: false
|
||||
|
||||
- key: NEXT_PUBLIC_ALLOW_SIGNUP
|
||||
value: true
|
||||
|
||||
databases:
|
||||
- name: documenso-db
|
||||
plan: free
|
||||
Reference in New Issue
Block a user