forked from documenso/documenso
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
822 changed files
with
161,204 additions
and
31,730 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
{ | ||
"name": "Documenso", | ||
"image": "mcr.microsoft.com/devcontainers/base:bullseye", | ||
"features": { | ||
"ghcr.io/devcontainers/features/docker-in-docker:2": { | ||
"version": "latest", | ||
"enableNonRootDocker": "true", | ||
"moby": "true" | ||
}, | ||
"ghcr.io/devcontainers/features/node:1": {} | ||
}, | ||
"onCreateCommand": "./.devcontainer/on-create.sh", | ||
"forwardPorts": [3000, 54320, 9000, 2500, 1100], | ||
"customizations": { | ||
"vscode": { | ||
"extensions": [ | ||
"aaron-bond.better-comments", | ||
"bradlc.vscode-tailwindcss", | ||
"dbaeumer.vscode-eslint", | ||
"esbenp.prettier-vscode", | ||
"mikestead.dotenv", | ||
"unifiedjs.vscode-mdx", | ||
"GitHub.copilot-chat", | ||
"GitHub.copilot-labs", | ||
"GitHub.copilot", | ||
"GitHub.vscode-pull-request-github", | ||
"Prisma.prisma", | ||
"VisualStudioExptTeam.vscodeintellicode", | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#!/usr/bin/env bash | ||
|
||
# Start the database and mailserver | ||
docker compose -f ./docker/compose-without-app.yml up -d | ||
|
||
# Install dependencies | ||
npm install | ||
|
||
# Copy the env file | ||
cp .env.example .env | ||
|
||
# Run the migrations | ||
npm run prisma:migrate-dev |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/usr/bin/env bash | ||
|
||
npm run dev |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
indent_style = space | ||
indent_size = 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,54 +1,89 @@ | ||
# Database | ||
# Option 1: You can use the provided remote test database, courtesy of the documenso team: postgres://documenso_test_user:GnmLG14u12sd9zHsd4vVWwP40WneFJMo@dpg-cf2hljh4reb5o45oqpq0-a.oregon-postgres.render.com/documenso_test_e2i3 | ||
# Option 2: Set up a local Postgres SQL instance (RECOMMENDED) | ||
# Option 3: Use the provided dx setup (RECOMMENDED) | ||
# => postgres://documenso:[email protected]:54320/documenso | ||
# | ||
# ⚠ WARNING: The test database can be reset or taken offline at any point. | ||
# ⚠ WARNING: Please be aware that nothing written to the test database is private. | ||
DATABASE_URL='' | ||
|
||
# URL | ||
NEXT_PUBLIC_WEBAPP_URL='http://localhost:3000' | ||
|
||
# AUTH | ||
# For more see here: https://next-auth.js.org | ||
NEXTAUTH_SECRET='lorem ipsum sit dolor random string for encryption this could literally be anything' | ||
NEXTAUTH_URL='http://localhost:3000' | ||
|
||
# SIGNING | ||
CERT_FILE_PATH= | ||
CERT_PASSPHRASE= | ||
CERT_FILE_ENCODING= | ||
|
||
# MAIL (NODEMAILER) | ||
# SENDGRID | ||
# Get a Sendgrid Api key here: https://signup.sendgrid.com | ||
SENDGRID_API_KEY='' | ||
|
||
# SMTP | ||
# Set SMTP credentials to use SMTP instead of the Sendgrid API. | ||
# If you're using the dx setup you can use the following values: | ||
# | ||
# SMTP_MAIL_HOST='127.0.0.1' | ||
# SMTP_MAIL_PORT='2500' | ||
# SMTP_MAIL_USER='documenso' | ||
# SMTP_MAIL_PASSWORD='documenso' | ||
SMTP_MAIL_HOST='' | ||
SMTP_MAIL_PORT='' | ||
SMTP_MAIL_USER='' | ||
SMTP_MAIL_PASSWORD='' | ||
|
||
# Sender for signing requests and completion mails. | ||
MAIL_FROM='[email protected]' | ||
|
||
# STRIPE | ||
STRIPE_API_KEY= | ||
STRIPE_WEBHOOK_SECRET= | ||
# [[AUTH]] | ||
NEXTAUTH_URL="http://localhost:3000" | ||
NEXTAUTH_SECRET="secret" | ||
|
||
# [[AUTH OPTIONAL]] | ||
NEXT_PRIVATE_GOOGLE_CLIENT_ID="" | ||
NEXT_PRIVATE_GOOGLE_CLIENT_SECRET="" | ||
|
||
# [[URLS]] | ||
NEXT_PUBLIC_WEBAPP_URL="http://localhost:3000" | ||
NEXT_PUBLIC_MARKETING_URL="http://localhost:3001" | ||
|
||
# [[DATABASE]] | ||
NEXT_PRIVATE_DATABASE_URL="postgres://documenso:[email protected]:54320/documenso" | ||
# Defines the URL to use for the database when running migrations and other commands that won't work with a connection pool. | ||
NEXT_PRIVATE_DIRECT_DATABASE_URL="postgres://documenso:[email protected]:54320/documenso" | ||
|
||
# [[E2E Tests]] | ||
E2E_TEST_AUTHENTICATE_USERNAME="Test User" | ||
E2E_TEST_AUTHENTICATE_USER_EMAIL="[email protected]" | ||
E2E_TEST_AUTHENTICATE_USER_PASSWORD="test_password" | ||
|
||
# [[STORAGE]] | ||
# OPTIONAL: Defines the storage transport to use. Available options: database (default) | s3 | ||
NEXT_PUBLIC_UPLOAD_TRANSPORT="database" | ||
# OPTIONAL: Defines the endpoint to use for the S3 storage transport. Relevant when using third-party S3-compatible providers. | ||
NEXT_PRIVATE_UPLOAD_ENDPOINT= | ||
# OPTIONAL: Defines the region to use for the S3 storage transport. Defaults to us-east-1. | ||
NEXT_PRIVATE_UPLOAD_REGION= | ||
# REQUIRED: Defines the bucket to use for the S3 storage transport. | ||
NEXT_PRIVATE_UPLOAD_BUCKET= | ||
# OPTIONAL: Defines the access key ID to use for the S3 storage transport. | ||
NEXT_PRIVATE_UPLOAD_ACCESS_KEY_ID= | ||
# OPTIONAL: Defines the secret access key to use for the S3 storage transport. | ||
NEXT_PRIVATE_UPLOAD_SECRET_ACCESS_KEY= | ||
|
||
# [[SMTP]] | ||
# OPTIONAL: Defines the transport to use for sending emails. Available options: smtp-auth (default) | smtp-api | mailchannels | ||
NEXT_PRIVATE_SMTP_TRANSPORT="smtp-auth" | ||
# OPTIONAL: Defines the host to use for sending emails. | ||
NEXT_PRIVATE_SMTP_HOST="127.0.0.1" | ||
# OPTIONAL: Defines the port to use for sending emails. | ||
NEXT_PRIVATE_SMTP_PORT=2500 | ||
# OPTIONAL: Defines the username to use with the SMTP server. | ||
NEXT_PRIVATE_SMTP_USERNAME="documenso" | ||
# OPTIONAL: Defines the password to use with the SMTP server. | ||
NEXT_PRIVATE_SMTP_PASSWORD="password" | ||
# OPTIONAL: Defines the API key user to use with the SMTP server. | ||
NEXT_PRIVATE_SMTP_APIKEY_USER= | ||
# OPTIONAL: Defines the API key to use with the SMTP server. | ||
NEXT_PRIVATE_SMTP_APIKEY= | ||
# OPTIONAL: Defines whether to force the use of TLS. | ||
NEXT_PRIVATE_SMTP_SECURE= | ||
# REQUIRED: Defines the sender name to use for the from address. | ||
NEXT_PRIVATE_SMTP_FROM_NAME="No Reply @ Documenso" | ||
# REQUIRED: Defines the email address to use as the from address. | ||
NEXT_PRIVATE_SMTP_FROM_ADDRESS="[email protected]" | ||
# OPTIONAL: The API key to use for Resend.com | ||
NEXT_PRIVATE_RESEND_API_KEY= | ||
# OPTIONAL: The API key to use for MailChannels. | ||
NEXT_PRIVATE_MAILCHANNELS_API_KEY= | ||
# OPTIONAL: The endpoint to use for the MailChannels API if using a proxy. | ||
NEXT_PRIVATE_MAILCHANNELS_ENDPOINT= | ||
# OPTIONAL: The domain to use for DKIM signing. | ||
NEXT_PRIVATE_MAILCHANNELS_DKIM_DOMAIN= | ||
# OPTIONAL: The selector to use for DKIM signing. | ||
NEXT_PRIVATE_MAILCHANNELS_DKIM_SELECTOR= | ||
# OPTIONAL: The private key to use for DKIM signing. | ||
NEXT_PRIVATE_MAILCHANNELS_DKIM_PRIVATE_KEY= | ||
|
||
# [[STRIPE]] | ||
NEXT_PRIVATE_STRIPE_API_KEY= | ||
NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET= | ||
NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID= | ||
NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID= | ||
NEXT_PUBLIC_STRIPE_FREE_PLAN_ID= | ||
|
||
# [[FEATURES]] | ||
# OPTIONAL: Leave blank to disable PostHog and feature flags. | ||
NEXT_PUBLIC_POSTHOG_KEY="" | ||
# OPTIONAL: Defines the host to use for PostHog. | ||
NEXT_PUBLIC_POSTHOG_HOST="https://eu.posthog.com" | ||
# OPTIONAL: Leave blank to disable billing. | ||
NEXT_PUBLIC_FEATURE_BILLING_ENABLED= | ||
|
||
#FEATURE FLAGS | ||
# Allow users to register via the /signup page. Otherwise they will be redirect to the home page. | ||
NEXT_PUBLIC_ALLOW_SIGNUP=true | ||
NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS=false | ||
# This is only required for the marketing site | ||
# [[REDIS]] | ||
NEXT_PRIVATE_REDIS_URL= | ||
NEXT_PRIVATE_REDIS_TOKEN= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Config files | ||
*.config.js | ||
*.config.cjs | ||
|
||
# Statically hosted javascript files | ||
apps/*/public/*.js | ||
apps/*/public/*.cjs | ||
scripts/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
/** @type {import('eslint').Linter.Config} */ | ||
module.exports = { | ||
root: true, | ||
extends: ['@documenso/eslint-config'], | ||
rules: { | ||
'@next/next/no-img-element': 'off', | ||
}, | ||
settings: { | ||
next: { | ||
rootDir: ['apps/*/'], | ||
}, | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: "Bug Report" | ||
labels: ["bug"] | ||
description: Create a bug report to help us improve | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | ||
Thank you for reporting an issue. | ||
Please fill in as much of the form below as you're able to. | ||
- type: textarea | ||
attributes: | ||
label: Issue Description | ||
description: Please provide a clear and concise description of the problem. | ||
- type: textarea | ||
attributes: | ||
label: Steps to Reproduce | ||
description: Please provide step-by-step instructions to reproduce the issue. Include code snippets, error messages, and any other relevant information. | ||
- type: textarea | ||
attributes: | ||
label: Expected Behavior | ||
description: Describe what you expected to happen. | ||
- type: textarea | ||
attributes: | ||
label: Current Behavior | ||
description: Describe what is currently happening. | ||
- type: textarea | ||
attributes: | ||
label: Screenshots (optional) | ||
description: If applicable, add screenshots to help explain the issue. | ||
- type: input | ||
attributes: | ||
label: Operating System [e.g., Windows 10] | ||
- type: input | ||
attributes: | ||
label: Browser [e.g., Chrome, Firefox] | ||
- type: input | ||
attributes: | ||
label: Version [e.g., 2.0.1] | ||
- type: checkboxes | ||
attributes: | ||
label: Please check the boxes that apply to this issue report. | ||
options: | ||
- label: I have searched the existing issues to make sure this is not a duplicate. | ||
- label: I have provided steps to reproduce the issue. | ||
- label: I have included relevant environment information. | ||
- label: I have included any relevant screenshots. | ||
- label: I understand that this is a voluntary contribution and that there is no guarantee of resolution. | ||
- label: I want to work on creating a PR for this issue if approved |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
name: "Feature Request" | ||
description: Suggest a new idea or enhancement for this project | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: Please provide a clear and concise title for your feature request | ||
- type: textarea | ||
attributes: | ||
label: Feature Description | ||
description: Describe the feature you are requesting in detail. Explain what problem it solves or what value it adds to the project. | ||
- type: textarea | ||
attributes: | ||
label: Use Case | ||
description: Provide a scenario or use case where this feature would be beneficial. Explain how users would interact with this feature and why it's important. | ||
- type: textarea | ||
attributes: | ||
label: Proposed Solution | ||
description: If you have an idea of how this feature could be implemented, describe it here. Include any technical details, UI/UX considerations, or design suggestions. | ||
- type: textarea | ||
attributes: | ||
label: Alternatives (optional) | ||
description: Are there any alternative ways to achieve the same goal? Describe other approaches that could be considered if this feature is not implemented. | ||
- type: textarea | ||
attributes: | ||
label: Additional Context | ||
description: Add any additional context or information that might be relevant to the feature request. | ||
- type: checkboxes | ||
attributes: | ||
label: Please check the boxes that apply to this feature request. | ||
options: | ||
- label: I have searched the existing feature requests to make sure this is not a duplicate. | ||
- label: I have provided a detailed description of the requested feature. | ||
- label: I have explained the use case or scenario for this feature. | ||
- label: I have included any relevant technical details or design suggestions. | ||
- label: I understand that this is a suggestion and that there is no guarantee of implementation. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
name: "General Improvement" | ||
description: Suggest a minor enhancement or improvement for this project | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: Please provide a clear and concise title for your improvement suggestion | ||
- type: textarea | ||
attributes: | ||
label: Improvement Description | ||
description: Describe the improvement you are suggesting in detail. Explain what specific aspect of the project it addresses or enhances. | ||
- type: textarea | ||
attributes: | ||
label: Rationale | ||
description: Explain why this improvement would be beneficial. Share any context, pain points, or reasons for suggesting this change. | ||
- type: textarea | ||
attributes: | ||
label: Proposed Solution | ||
description: If you have a suggestion for how this improvement could be implemented, describe it here. Include any technical details, design suggestions, or other relevant information. | ||
- type: textarea | ||
attributes: | ||
label: Alternatives (optional) | ||
description: Are there any alternative approaches to achieve the same improvement? Describe other ways to address the issue or enhance the project. | ||
- type: textarea | ||
attributes: | ||
label: Additional Context | ||
description: Add any additional context or information that might be relevant to the improvement suggestion. | ||
- type: checkboxes | ||
attributes: | ||
label: Please check the boxes that apply to this improvement suggestion. | ||
options: | ||
- label: I have searched the existing issues and improvement suggestions to avoid duplication. | ||
- label: I have provided a clear description of the improvement being suggested. | ||
- label: I have explained the rationale behind this improvement. | ||
- label: I have included any relevant technical details or design suggestions. | ||
- label: I understand that this is a suggestion and that there is no guarantee of implementation. |
Oops, something went wrong.