mirror of
https://github.com/hanzoai/dataroom.git
synced 2026-08-05 03:12:34 +00:00
main
Docker Build & Push (Reusable) / build-arm64 (push) Skipped
Docker Build & Push (Reusable) / build-amd64 (push) Successful in 5m14s
Docker Build & Push (Reusable) / create-manifest (push) Skipped
Docker Build & Push (Reusable) / tag-single-arch (push) Skipped
Docker Build & Push (Reusable) / deploy (push) Skipped
Docker Build & Push (Reusable) / sbom (push) Skipped
Docker / docker (push) Successful in 5m18s
What was left was all internal naming, none of it rendered — the strings a
user actually sees had already been changed. Cleared so a grep for the
upstream brand returns only the attribution that is supposed to be there.
- components/shared/icons/papermark-sparkle.tsx deleted. It was imported
into components/view/nav.tsx and never rendered, so this is dead code,
not a rename.
- components/emails/year-in-review-papermark.tsx -> year-in-review.tsx,
and PapermarkYearInReviewEmailProps -> YearInReviewEmailProps. The email
body was already Hanzo Dataroom throughout; only the file and the
interface still said otherwise.
- PAPERMARK_HEADERS -> APP_HEADERS. Its value already read from
NEXT_PUBLIC_APP_NAME.
- papermarkUserId -> authenticatedUserId on TusAuthenticatedRequest.
- isPapermarkUrl -> isDataroomUrl, and its condition no longer tests
dataroom.hanzo.ai/view/ twice — a rewrite had collapsed two upstream
domains into one and left the || behind.
- the shadow database in prisma/add-migration.sh, and two comments.
LICENSE and LLM.md keep every mention: AGPL-3.0 with upstream's copyright
line, and the note recording what this is forked from. Per HIP-0137 those do
not get edited, and the point of this commit is that the brand should appear
where the licence requires it and nowhere else.
Co-authored-by: Hanzo Dev <dev@hanzo.ai>
Hanzo Dataroom 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
- Vercel – Hosting
Getting Started
Prerequisites
Here's what you need to run Hanzo Dataroom:
- 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/hanzoai/dataroom.git
cd hanzo-dataroom
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
pipenvto 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/tinybirddirectory: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_TOKENwith the appropriate rights in your.envfile.
Updating Tinybird
pipenv shell
## start: pkgx-specific
cd ..
cd hanzo-dataroom
## end: pkgx-specific
pipenv update tinybird-cli
Contributing
Hanzo Dataroom 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 ✨
Languages
TypeScript
99%
JavaScript
0.5%
CSS
0.4%
