A comprehensive lead management system for KG Logistics LLC, built with Next.js 16, Supabase, and Prisma.
- Lead Management: Track and manage shipping quote leads with status tracking
- Contact Management: Separate dashboard for contact form submissions
- Load Management: Convert leads to loads and track them through completion
- Email Templates: Create and send templated emails to leads using Resend
- User Authentication: Google OAuth and email/password authentication via Supabase
- Access Control: Invite-only system with user access management
- Dashboard Analytics: Visual statistics and KPI tracking
- Framework: Next.js 16 (App Router)
- Database: PostgreSQL (via Supabase)
- ORM: Prisma
- Authentication: Supabase Auth
- UI Components: HeroUI
- Email: Resend (for templates), EmailJS (for form notifications)
- Deployment: Vercel (recommended)
- Node.js 18+
- npm, yarn, pnpm, or bun
- Supabase account
- Vercel account (for deployment)
-
Clone the repository:
git clone <repository-url> cd kg-logistics
-
Install dependencies:
npm install
-
Set up environment variables (see
.env.exampleorDEPLOYMENT.md) -
Set up the database:
npx prisma generate npx prisma migrate deploy
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser
├── app/
│ ├── (admin)/ # Admin routes (dashboard, leads, loads, etc.)
│ ├── (public)/ # Public routes (home, contact, ship)
│ ├── api/ # API routes
│ └── auth/ # Authentication routes
├── components/
│ ├── admin/ # Admin navigation components
│ ├── dashboard/ # Dashboard components
│ ├── leads/ # Lead management components
│ └── templates/ # Email template components
├── lib/
│ ├── auth.ts # Authorization utilities
│ ├── prisma.ts # Prisma client
│ └── supabase/ # Supabase client utilities
├── prisma/
│ ├── schema.prisma # Database schema
│ └── migrations/ # Database migrations
└── types/ # TypeScript type definitions
See LICENSE file for details.