Home

Awesome

⚡ Sink

A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.

<a href="https://trendshift.io/repositories/10421" target="_blank"> <img src="https://trendshift.io/api/badge/repositories/10421" alt="ccbikai/Sink | Trendshift" style="width: 250px; height: 55px;" width="250" height="55" /> </a> <a href="https://news.ycombinator.com/item?id=40843683"> <img src="https://hackernews-badge.vercel.app/api?id=40843683" alt="Featured on Hacker News" style="width: 250px; height: 55px;" width="250" height="55" /> </a>

Cloudflare Nuxt Tailwind CSS shadcn/ui

Hero


✨ Features

🪧 Demo

Experience the demo at Sink.Cool. Log in using the Site Token below:

Site Token: SinkCool
<details> <summary><b>Screenshots</b></summary> <img alt="Analytics" src="./docs/images/sink.cool_dashboard.png"/> <img alt="Links" src="./docs/images/sink.cool_dashboard_links.png"/> <img alt="Link Analytics" src="./docs/images/sink.cool_dashboard_link_slug.png"/> </details>

🧱 Technologies Used

🚗 Roadmap [WIP]

We welcome your contributions and PRs.

🏗️ Deployment

Video tutorial: Watch here

  1. Fork the repository to your GitHub account.

  2. Create a project in Cloudflare Pages.

  3. Select the Sink repository and choose the Nuxt.js preset.

  4. Configure the following environment variables:

    • NUXT_SITE_TOKEN: Must be longer than 8 characters. This token grants access to your dashboard.
    • NUXT_CF_ACCOUNT_ID: Locate your account ID.
    • NUXT_CF_API_TOKEN: Create a Cloudflare API token with at least Account.Account Analytics permissions. See reference.
  5. Save and deploy the project.

  6. Cancel the deployment, then navigate to Settings -> Bindings -> Add:

    • KV Namespace: Bind the variable name KV to a KV namespace (create a new one under Workers & Pages -> KV).
    • Workers AI (Optional): Bind the variable name AI to the Workers AI Catalog.
    • Analytics Engine:
      • In Workers & Pages, go to Account details on the right side, find Analytics Engine, and click Set up to enable the free version.
      • Return to Settings -> Bindings -> Add and select Analytics engine.
      • Bind the variable name ANALYTICS to the sink dataset.
  7. Redeploy the project.

⚒️ Configuration

Configuration Docs

🔌 API

API Docs

🙋🏻 FAQs

FAQs

💖 Credits

  1. Cloudflare
  2. NuxtHub
  3. Astroship

☕ Sponsor

  1. Follow Me on X(Twitter).
  2. Become a sponsor to on GitHub.