A modern, AI-powered link management application built with Nuxt 4, PostgreSQL, and Nuxt UI.
✨ Smart Categorization - Automatically categorizes your links using intelligent pattern matching
🔐 Secure Authentication - JWT-based authentication with HTTP-only cookies
📊 Rich Metadata - Fetches titles, descriptions, and images from URLs
🎨 Beautiful UI - Modern, responsive design with dark mode support
⚡ Fast Performance - Optimized database queries with strategic indexes
🔍 Search & Filter - Find your links by title, description, or category
⭐ Favorites - Mark important links for quick access
- Frontend: Nuxt 4, Vue 3, TypeScript
- UI: Nuxt UI (Tailwind CSS)
- Backend: Nuxt Server API
- Database: PostgreSQL (NeonDB)
- Authentication: JWT with bcrypt password hashing
- Metadata: Microlink API
- Node.js 18+
- PostgreSQL database (we recommend NeonDB)
- npm or pnpm
npm installCreate a .env file in the root directory:
# Database Configuration (REQUIRED)
DATABASE_URL=postgresql://username:password@host/database?sslmode=require
# Authentication Secret (REQUIRED)
# Generate using: openssl rand -base64 32
AUTH_SECRET=your-secure-random-secret-key-here
# Node Environment
NODE_ENV=developmentnpm run devThe application will be available at http://localhost:3000
The application automatically creates the required tables on first run:
- users - User accounts with hashed passwords
- links - User's saved links with metadata
Indexes are automatically created for optimal performance.
POST /api/auth/register- Create new accountPOST /api/auth/login- LoginGET /api/auth/session- Get current sessionPOST /api/auth/logout- LogoutPOST /api/auth/change-password- Change password
GET /api/links- Get all user's linksPOST /api/links- Add new linkDELETE /api/links/:id- Delete linkPATCH /api/links/:id/favorite- Toggle favoritePATCH /api/links/:id/category- Update category
GET /api/metadata?url=<url>- Fetch URL metadata
npm run build
npm run previewThe application can be deployed to any platform that supports Nuxt 4:
Make sure to set the environment variables in your deployment platform.
- ✅ Password hashing with bcrypt
- ✅ JWT tokens with HTTP-only cookies
- ✅ SQL injection protection with parameterized queries
- ✅ CORS protection
- ✅ Secure session management
MIT
Contributions are welcome! Please feel free to submit a Pull Request.