A modern full-stack URL shortening platform built with Next.js, Prisma, PostgreSQL, Redis, and Auth.js.
Sortify allows users to create, manage, track, and secure short links while also providing a developer-friendly REST API with API key authentication.
Website: https://sortify-url.vercel.app/
- Create short URLs instantly
- Generate random slugs automatically
- Create custom slugs
- Copy links with one click
- Password-protected links
- Expiry date support
- Protected access verification
Track link performance with:
- Total clicks
- Browser analytics
- Device analytics
- Country tracking
- Link-level insights
Generate QR codes for every short URL and share links quickly across devices.
- Redis caching using Upstash
- Faster link resolution
- Reduced database queries
- Google OAuth Authentication
- Dashboard rate limiting
- API rate limiting
- Secure API key hashing using bcrypt
Generate API keys and access Sortify programmatically.
Available API endpoints:
- Create links
- Get all links
- View analytics
- Delete links
- Search links
- Pagination
- Dashboard management
- Profile page
- API documentation
- Next.js 15
- React
- TypeScript
- Tailwind CSS
- Lucide Icons
- Next.js Route Handlers
- Prisma ORM
- PostgreSQL (Neon)
- Auth.js (NextAuth)
- Google OAuth
- Upstash Redis
- Upstash Ratelimit
- Zod
- bcryptjs
Send API key in request headers:
x-api-key: sk_sortify_xxxxxxxxxxxxxxxxxPOST /api/v1/linksRequest:
{
"url": "https://google.com",
"slug": "google"
}Response:
{
"success": true,
"shortUrl": "https://your-domain.com/google"
}GET /api/v1/linksGET /api/v1/analytics/[slug]DELETE /api/v1/links/[slug]Add screenshots here:
- Landing Page
- Dashboard
- Analytics Page
- API Documentation
- Profile Page
- QR Code Feature
Clone the repository:
git clone https://github.com/your-username/sortify.gitInstall dependencies:
npm installCreate a .env file:
DATABASE_URL=
AUTH_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
NEXT_PUBLIC_APP_URL=http://localhost:3000Run development server:
npm run devBuild for production:
npm run build
npm startWhile building Sortify, I gained hands-on experience with:
- Full-stack application architecture
- Authentication and authorization
- Database design using Prisma
- Redis caching strategies
- API key authentication
- REST API development
- Rate limiting implementation
- Production deployment workflows
- TypeScript and Next.js App Router
- API usage analytics
- Team workspaces
- Custom domains
- Webhooks
- Bulk URL creation
- Advanced analytics dashboard
- Link tags and categories
Thushar Rai
B.Tech CSE (2028)
Passionate about Full-Stack Development, AI, and building scalable web applications.