A full-featured CRM application built with modern web technologies, replicating the Salesforce Lightning Experience.
π Live Demo Β· π Documentation Β· π Report Bug Β· β¨ Request Feature
| Module | Description |
|---|---|
| Landing Page | Pixel-perfect clone of Salesforce homepage with hero, testimonials, and CTAs |
| Authentication | Secure sign-up/sign-in with Clerk (email, Google, GitHub) |
| Dashboard Home | Onboarding wizard, quick actions, pinned lists |
| Leads Management | Create, track, and convert leads with status workflows |
| Accounts | Company/organization management with industry classification |
| Contacts | Contact management linked to accounts |
| Opportunities | Sales pipeline with Kanban board view |
| Service Cases | Customer support ticket tracking |
| Category | Technologies |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack) |
| Language | TypeScript |
| Styling | Tailwind CSS, Shadcn UI |
| Authentication | Clerk |
| Database | Neon PostgreSQL (Serverless) |
| ORM | Drizzle ORM |
| Validation | Zod |
| Deployment | Vercel |
# Clone the repository
git clone https://github.com/ihatesea69/salesforce-crm-clone.git
cd salesforce-crm-clone
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your credentials
# Run database migrations
npm run db:generate
npm run db:push
# Start development server
npm run devOpen http://localhost:3000 to view the app.
# Database (Neon PostgreSQL)
DATABASE_URL="postgresql://..."
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_..."
CLERK_SECRET_KEY="sk_..."
# Clerk URLs
NEXT_PUBLIC_CLERK_SIGN_IN_URL="/sign-in"
NEXT_PUBLIC_CLERK_SIGN_UP_URL="/sign-up"
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL="/dashboard"
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL="/dashboard"βββ src/
β βββ app/ # Next.js App Router
β β βββ (auth)/ # Authentication pages
β β βββ dashboard/ # CRM modules
β β β βββ accounts/
β β β βββ contacts/
β β β βββ leads/
β β β βββ opportunities/
β β β βββ cases/
β β βββ page.tsx # Landing page
β βββ components/
β β βββ dashboard/ # List views, empty states
β β βββ layout/ # Sidebar, header
β β βββ ui/ # Shadcn components
β βββ lib/
β βββ actions/ # Server actions
β βββ db/ # Database schema
β βββ validations/ # Zod schemas
βββ public/
β βββ images/ # Generated assets
βββ tests/ # Vitest + Playwright
| Script | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run start |
Start production server |
npm run lint |
Run ESLint |
npm run type-check |
TypeScript type checking |
npm run test |
Run unit tests (Vitest) |
npm run test:e2e |
Run E2E tests (Playwright) |
npm run db:generate |
Generate Drizzle migrations |
npm run db:push |
Push schema to database |
Contributions are welcome! Please read our Contributing Guide first.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Salesforce - Design inspiration
- Shadcn UI - UI components
- Clerk - Authentication
- Neon - Serverless PostgreSQL
- Vercel - Deployment
β Star this repo if you find it helpful!
Made with β€οΈ by @ihatesea69

