FLCut is a URL shortener and link management platform built for Finite Loop Club (FLC).
It allows authorized FLC members to create and manage short links for registrations, workshops, resources, events, and club activities.
Deployment: https://flcut-six.vercel.app
For project evaluation, a demo admin account has been configured.
Email: demo.flcut@gmail.com
Password: FLCut*28
FLC frequently shares Google Forms, event registrations, workshop resources, and other links across WhatsApp groups, Instagram, posters, and presentations.
Most of these URLs are long and difficult to remember or share.
I wanted to build a platform where members can:
- Create short and clean URLs
- Manage links in one place
- Track usage through click analytics
- Control when links become active or inactive
- Restrict access to authorized FLC members only
- Google Sign In
- Only authorized FLC members can log in
- Student and faculty email verification
- Role-based access control
- Create short links
- Custom aliases
- Auto-generated aliases
- Edit existing links
- Delete links
- Scheduled activation
- Expiry date support
- Click limits
- Alternate URL after limit is reached
- Total click tracking
- Click history storage
- Link performance monitoring
- View authorized users
- Enable or disable access
- Manage user permissions
- Next.js 16
- TypeScript
- Tailwind CSS
- Prisma ORM
- PostgreSQL (Neon)
- NextAuth v5
- Vercel
git clone <repository-url>
cd flcutnpm installCreate a .env file in the root directory.
DATABASE_URL=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
AUTH_SECRET=
NEXT_PUBLIC_BASE_URL=http://localhost:3000npx prisma migrate devnpx prisma generatenpm run seednpm run devApplication will run on:
http://localhost:3000
- Full platform access
- User management
- Link management
- View all links
- Can view all links
- Can manage links
- Can edit and delete links
- Can create links
- Can manage their own links
src
├── app
│ ├── dashboard
│ ├── api
│ ├── actions
│ ├── unauthorized
│ └── [slug]
├── auth.ts
├── lib
├── types
└── prisma
Additional implementation details and technical decisions are available in:
decisions.md
This document explains the architecture decisions, tradeoffs, and reasoning behind the implementation.
- QR code generation
- Advanced analytics dashboard
- CSV exports
- Bulk link operations
- Better reporting tools