Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - mfts/papermark: Papermark is the open-source DocSend alternative with built-in analytics and custom domains.
Papermark is the open-source DocSend alternative with built-in analytics and custom domains. - mfts/papermark
Visit SiteGitHub - mfts/papermark: Papermark is the open-source DocSend alternative with built-in analytics and custom domains.
Papermark is the open-source DocSend alternative with built-in analytics and custom domains. - mfts/papermark
Powered by 0x5a.live ๐
Papermark is the open-source document-sharing alternative to DocSend, featuring built-in analytics and custom domains.
Features
- Shareable Links: Share your documents securely by sending a custom link.
- Custom Branding: Add a custom domain and your own branding.
- Analytics: Gain insights through document tracking and soon page-by-page analytics.
- Self-hosted, Open-source: Host it yourself and customize it as needed.
Demo
Tech Stack
- Next.js โ Framework
- TypeScript โ Language
- Tailwind โ CSS
- shadcn/ui - UI Components
- Prisma - ORM
- PostgreSQL - Database
- NextAuth.js โ Authentication
- Tinybird โ Analytics
- Resend โ Email
- Stripe โ Payments
- Vercel โ Hosting
Getting Started
Prerequisites
Here's what you need to run Papermark:
- Node.js (version >= 18.17.0)
- PostgreSQL Database
- Blob storage (currently AWS S3 or Vercel Blob)
- Resend (for sending emails)
1. Clone the repository
git clone https://github.com/mfts/papermark.git
cd papermark
2. Install npm dependencies
npm install
3. Copy the environment variables to .env
and change the values
cp .env.example .env
4. Initialize the database
npm run dev:prisma
5. Run the dev server
npm run dev
6. Open the app in your browser
Visit http://localhost:3000 in your browser.
Tinybird Instructions
To prepare the Tinybird database, follow these steps:
- We use
pipenv
to manage our Python dependencies. If you don't have it installed, you can install it using the following command:pkgx pipenv
- Download the Tinybird CLI from here and install it on your system.
- After authenticating with the Tinybird CLI, navigate to the
lib/tinybird
directory:cd lib/tinybird
- Push the necessary data sources using the following command:
tb push datasources/* tb push endpoints/get_*
- Don't forget to set the
TINYBIRD_TOKEN
with the appropriate rights in your.env
file.
Updating Tinybird
pipenv shell
## start: pkgx-specific
cd ..
cd papermark
## end: pkgx-specific
pipenv update tinybird-cli
Contributing
Papermark is an open-source project, and we welcome contributions from the community.
If you'd like to contribute, please fork the repository and make any changes you'd like. Pull requests are warmly welcome.
Our Contributors โจ
Open Source Resources
are all listed below.
Made with โค๏ธ
to provide different kinds of informations and resources.