https://github.com/galvingao/dub
https://github.com/galvingao/dub
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/galvingao/dub
- Owner: GalvinGao
- License: agpl-3.0
- Created: 2023-04-16T19:49:22.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-16T19:49:28.000Z (about 2 years ago)
- Last Synced: 2025-03-24T08:16:59.260Z (2 months ago)
- Language: TypeScript
- Size: 2.83 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
An open-source link management tool for modern marketing teams to create, share, and track short links.
Introduction ·
Deploy Your Own ·
Tech Stack ·
Implementation ·
Contributing
## Introduction
Dub is an open-source link management tool for modern marketing teams to create, share, and track short links. Built with [Vercel Edge Functions](http://vercel.com/edge), [Upstash Redis](https://docs.upstash.com/redis), and [Planetscale MySQL](https://planetscale.com/).
Here are some of the features that Dub provides out-of-the-box:
### Built-in Analytics
Dub provides a powerful analytics dashboard for your links, including geolocation, device, and browser information.

### Custom domains
You can easily configure custom domains on Dub – just add an A/CNAME record to your DNS provider and you're good to go. This is built on the [Vercel Domains API](https://domains-api.vercel.app/).

### QR Code Generator
You can easily generate and customize QR codes for your links, which can be used for flyers, posters, powerpoint presentations, etc.

### OG Image Proxy
Add a custom OG image in front of your target URL. Bots like Twitter/Facebook will be served this image, while users will be redirected to your target URL.

## Deploy Your Own
> Note: one-click deployment is a bit broken at the moment – you'll need to change some of the hard-coded values in the codebase to get it working. We're working on fixing this.
You can deploy your own hosted version of Dub for greater privacy & control. Just click the link below to deploy a ready-to-go version of Dub to Vercel.
[](https://dub.sh/deploy)
## Tech Stack
- [Next.js](https://nextjs.org/) – framework
- [Typescript](https://www.typescriptlang.org/) – language
- [Tailwind](https://tailwindcss.com/) – CSS
- [Upstash](https://upstash.com/) – redis
- [Tinybird](https://tinybird.com/) – analytics
- [Planetscale](https://planetscale.com/) – database
- [NextAuth.js](https://next-auth.js.org/) – auth
- [Vercel](https://vercel.com/) – hosting
- [Stripe](https://stripe.com/) – payments## Implementation
Dub is built as a standard Next.js application with [Middleware](https://nextjs.org/docs/advanced-features/middleware) to handle multi-tenancy, inspired by [the Vercel Platforms Starter Kit](https://github.com/vercel/platforms).
[Redis](https://redis.io/) is used as the caching layer for all short links.
[Clickhouse](https://clickhouse.com/) ([Tinybird](https://tinybird.com/)) is used as the analytics database for storing link click data.
[MySQL](https://www.mysql.com/) is used as the database for storing user data, project data, and link metadata. You can refer to the Prisma schema [here](/prisma/schema.prisma).
## Contributing
We love our contributors! Here's how you can contribute:
- [Open an issue](https://github.com/steven-tey/dub/issues) if you believe you've encountered a bug.
- Make a [pull request](https://github.com/steven-tey/dub/pull) to add new features/make quality-of-life improvements/fix bugs.## Author
- Steven Tey ([@steventey](https://twitter.com/steventey))
## License
Inspired by [Plausible](https://plausible.io/), Dub is open-source under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. You can [find it here](https://github.com/steven-tey/dub/blob/main/LICENSE.md).