Added a new badge to the README to highlight that the project has been featured on Hacker News, increasing its visibility and credibility. Improved the formatting of the existing Trendshift badge.
4.3 KiB
4.3 KiB
⚡ Sink
A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
✨ Features
- URL Shortening: Compress your URLs to their minimal length.
- Analytics: Monitor link analytics and gather insightful statistics.
- Serverless: Deploy without the need for traditional servers.
- Customizable Slug: Support for personalized slugs.
- 🪄 AI Slug: Leverage AI to generate slugs.
- Link Expiration: Set expiration dates for your links.
🪧 Demo
Experience the demo at Sink.Cool. Log in using the Site Token below:
Site Token: SinkCool
🧱 Technologies Used
- Framework: Nuxt
- Database: Cloudflare Workers KV
- Analytics Engine: Cloudflare Workers Analytics Engine
- UI Components: Shadcn-vue
- Styling: Tailwind CSS
- Deployment: Cloudflare
🚗 Roadmap [WIP]
We welcome your contributions and PRs.
- Browser Extension
- Raycast Extension
- Apple Shortcuts
- Enhanced Link Management (with Cloudflare D1)
- Analytics Enhancements (Support for merging filter conditions)
- Dashboard Performance Optimization (Infinite loading)
- Units Test
- Support for Other Deployment Platforms
🏗️ Deployment
-
Fork the repository to your GitHub account.
-
Create a Cloudflare Pages project.
-
Select the
Sinkrepository and theNuxt.jspreset. -
Configure environment variables.
NUXT_SITE_TOKENlength must exceed 8.NUXT_CF_ACCOUNT_IDfind your account ID.NUXT_CF_API_TOKENCreate a Cloudflare API token. This token requiresAccount.Account Analyticspermissions at the very least. Reference..
-
Save and deploy.
-
Cancel the deployment, navigate to
Settings->Functions.- KV namespace bindings. Bind the variable name
KVto a KV namespace. - Workers AI Bindings. Bind the variable name
AIto the Workers AI Catalog. Optional - Analytics Engine bindings. Bind the variable name
ANALYTICSto thesinkdataset, and enable Cloudflare Analytics Engine beta for your account.
- KV namespace bindings. Bind the variable name
-
Redeploy.



