CCLinker is a secure and privacy-focused URL shortener built with Supabase for backend and Vanilla JavaScript + TailwindCSS for frontend. It allows users to create, manage, and share short URLs with advanced access controls, analytics, and notifications.
- ✨ Features
- 🛠️ Tech Stack
- 🧠 User Flow
- 🖥️ Screenshots
- 🚀 Getting Started
- ⚙️ Environment Variables
- 📊 Database Schema
- 🤝 Contributing
- 📜 License
- Clear instructions on how to use the app.
- Prominent Login and Sign-Up options.
- Mobile-friendly and responsive design.
- Email-based Magic Link Login powered by Supabase Auth.
- Secure session management.
- URL creation and management.
- Set expiration/start dates.
- Password-protected URLs.
- Email whitelisting and access requests.
- Real-time analytics.
- Users are prompted for passwords or email validation.
- Unauthorized users can request access via email notifications.
- Total clicks, unique visitors, and top-performing URLs.
- Real-time data visualizations.
- Email alerts for URL access and access requests.
- In-app notifications.
- Frontend: Vanilla JavaScript, TailwindCSS
- Backend: Supabase (Auth, PostgreSQL Database, Edge Functions)
- Deployment: Vercel (Frontend), Supabase Cloud (Backend)
- Homepage: Users land on the homepage, learn about the app, and sign up or log in.
- Dashboard: Users can create new URLs, set access controls, and view analytics.
- Short URL Access: When someone clicks a short URL:
- They're redirected to an Intermediate Page.
- They must provide a password or email verification.
- Access Approval: If unauthorized, users can request access.
- Analytics: The creator can monitor URL activity via the dashboard.
- Node.js installed (Optional for local development)
- Supabase account
# Clone the repository
git clone https://github.com/tank0nf/CCLinker.git
# Navigate to the project folder
cd CCLinker
# Install dependencies
npm install
# Start the development server
npm run dev
- Deploy the frontend on Netlify or Vercel.
- Connect the backend to Supabase Cloud.
Create a .env
file in the root directory and add:
SUPABASE_URL=your_supabase_url
SUPABASE_API_KEY=your_supabase_api_key
id
: Unique User IDemail
: User Emailcreated_at
: Account Creation Timestamp
id
: Unique URL IDshort_url
: Shortened URLoriginal_url
: Original URLexpiration_date
: Expiry Datepassword
: Optional Password
id
: Log IDurl_id
: Associated Short URLaccessed_by
: Email/Nameaccessed_at
: Timestamp
Contributions are welcome! Follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
. - Make your changes.
- Submit a pull request.
- Make a Logo.
- Make Homepage more interactive and more informative.
- Add additional features
For any questions or support, feel free to reach out. 🚀😊
Happy Coding! 🎉