Built with Dark Factory v4 — autonomous AI software development pipeline
A modern, responsive CRM application built with Next.js 15, TypeScript, and Tailwind CSS.
- Contact Management: Add, edit, and organize contacts with groups and favorites
- Company Tracking: Manage business accounts and relationships
- Deal Pipeline: Kanban-style deal management with stages and probabilities
- Activity Logging: Track calls, emails, meetings, and notes
- Task Management: Organize follow-ups and daily activities
- Reports Dashboard: Analytics and performance insights
- Responsive Design: Mobile-first approach with Tailwind CSS
- Deal Detail pages with activity timelines
- Global Activity Feed with filtering
- Tasks & Follow-ups management
- Reports dashboard with aggregated analytics
- Add/Edit Deal slide-over component
- Log Activity modal dialog
- Node.js 18+
- npm (not yarn or pnpm)
- Clone the repository:
git clone <repository-url>
cd contact-hub- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.local- Initialize the database:
npm run devnpm run devOpen http://localhost:3000 in your browser.
npm run build
npm startnpm run type-check/- Dashboard with overview stats/contacts- Contact management/companies- Company accounts/deals- Deal pipeline (Kanban)/deals/[id]- Deal detail with activity timeline/activities- Global activity feed/tasks- Tasks and follow-ups/reports- Analytics dashboard/groups- Contact segmentation/settings- Import/export and preferences
GET/POST /api/contacts- Contact CRUDGET/POST /api/companies- Company CRUDGET/POST /api/deals- Deal CRUDGET/POST /api/activities- Activity loggingGET/POST /api/tasks- Task managementGET /api/reports- Aggregated analyticsGET /api/stats- Dashboard statistics
- Framework: Next.js 15 (App Router)
- Language: TypeScript (strict mode)
- Styling: Tailwind CSS
- Database: SQLite with better-sqlite3
- Validation: Zod schemas
- Icons: Material Symbols Outlined
- Font: Inter via Google Fonts
- Primary Color: #3c83f6 (blue)
- Background: #f5f7f8 (light gray)
- Surface: #ffffff (white cards)
- Border Radius: rounded-xl (12px)
- Font: Inter, system-ui, sans-serif
src/
├── app/ # Next.js App Router pages
│ ├── api/ # API routes
│ ├── contacts/ # Contact pages
│ ├── companies/ # Company pages
│ ├── deals/ # Deal pages
│ ├── activities/ # Activity feed
│ ├── tasks/ # Task management
│ ├── reports/ # Analytics
│ └── layout.tsx # Root layout
├── components/ # Reusable UI components
├── lib/ # Utilities and database
└── types/ # TypeScript definitions
- Follow the existing code patterns
- Use TypeScript strict mode (no
anytypes) - Implement proper error handling with try/catch
- Validate API inputs with Zod schemas
- Use Tailwind CSS for all styling
- Test responsive design at 320px, 768px, 1280px
MIT License
