An open-source, self-hosted CRM platform built with modern web technologies. Manage customer relationships, sales pipelines, projects, invoices, and documents with AI-powered insights.
Demo · Tech Stack · Features · Quick Start · Documentation · Contributing · License · Discord
Try it at demo.nextcrm.io
- Login with Google or create an account
- Full access to all modules (accounts, contacts, leads, opportunities, contracts, projects, invoices, documents)
- Demo data included for quick exploration
- Account Management - Organize and track companies/organizations
- Contact Management - Manage individual contacts linked to accounts
- Lead Management - Qualify and track sales leads
- Opportunity Pipeline - Manage sales opportunities with customizable stages
- Contract Management - Track contracts with automatic renewal reminders
- Task Management - Create, assign, and track tasks across all modules
- Kanban Boards - Visual task management with drag-and-drop
- Project Dashboards - Monitor progress and metrics
- Notifications - Real-time alerts for task changes
- Team Collaboration - Comments, watchers, task assignment
- Invoice Management - Create and track invoices with AI-powered data extraction
- Document Management - Organize documents and link to any entity
- Email Integration - IMAP client and automated email templates
- Full-Text Search - Global search across all entities
- Reports & Analytics - Charts and dashboards with Tremor
- Knowledge Base - Notion integration for team documentation
- AI Insights - OpenAI-powered summaries and automated notifications
- Multi-Language - English, German, Czech, Ukrainian
- Dark Mode - Complete dark theme support
- Responsive Design - Works on desktop, tablet, and mobile
- Role-Based Access - Admin and account admin roles
- Next.js – React framework for building performant apps with the best developer experience
- Auth.js – Handle user authentication with ease with providers like Google, Twitter, GitHub, etc.
- Prisma – Typescript-first ORM for Node.js
- React Email – Versatile email framework for efficient and flexible email development
- Vercel – Easily preview & deploy changes with git
- Mongo DB Atlas – A database platform for seamless, scalable data management
- Resend – A powerful email framework for streamlined email development together with react.email
- SWR – React Hooks library for remote data fetching
- Axios – Promise based HTTP client for the browser and node.js
- Server Actions - for server side data fetching
- Tanstack/react-query - for server/client side data fetching
- Tailwind CSS – Utility-first CSS framework for rapid UI development
- Shadcn/ui – Re-usable components built using Radix UI and Tailwind CSS
- Tremor – A platform for creating charts
- react.email - together with resend.com
- OpenAI API - for automated email notifications generated by AI
- Rossum - for invoice data parsing with AI
- Node.js 18+ (recommend 20+)
- pnpm (or npm/yarn)
- MongoDB Atlas account
- Git
-
Clone the repository
git clone https://github.com/DrivenIdeaLab/nextcrm-app.git cd nextcrm-app -
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env.local # Edit .env.local with your configuration -
Initialize database
pnpm run build
This command will:
- Generate Prisma client
- Push schema to MongoDB
- Seed initial data
-
Start development server
pnpm run dev
The application will be available at http://localhost:3000
pnpm run dev # Start development server pnpm run build # Build for production pnpm run start # Start production server pnpm run lint # Run ESLint
See .env.example for required environment variables:
Essential:
DATABASE_URL- MongoDB connection stringNEXTAUTH_URL- Application URLNEXTAUTH_SECRET- Session secret
Optional Services:
OPENAI_API_KEY- For AI featuresRESEND_API_KEY- For email deliveryNOTION_API_KEY- For knowledge base- OAuth provider credentials (Google, GitHub, Twitter)
- File storage (UploadThing or S3)
See CONTRIBUTING.md for detailed environment configuration.
nextcrm-app/
├── app/ # Next.js App Router
│ ├── [locale]/ # Localized routes (en, de, cz, uk)
│ │ ├── (auth)/ # Authentication pages
│ │ └── (routes)/ # Main application routes
│ │ ├── crm/ # CRM module
│ │ ├── projects/ # Project management
│ │ ├── invoice/ # Invoice management
│ │ ├── documents/ # Document management
│ │ └── [others]/ # Additional modules
│ └── api/ # API routes
├── actions/ # Server Actions (data mutations)
├── components/ # React components
├── lib/ # Utility libraries
├── prisma/ # Database schema & migrations
├── hooks/ # Custom React hooks
├── store/ # State management
├── emails/ # Email templates
├── types/ # TypeScript definitions
└── locales/ # i18n translations
See ARCHITECTURE.md for detailed architecture documentation.
- README.md - This file (project overview)
- ARCHITECTURE.md - Technical architecture and design
- CONTRIBUTING.md - Development guidelines
- .env.example - Environment variables
Show instructions
-
Clone the repository:
git clone https://github.com/pdovhomilja/nextcrm-app.git cd nextcrm-app -
Install the preset:
pnpm install
-
Copy the environment variables to .env
cp .env.example .env
cp .env.local.example .env.local
.env
- You will need mongodb URI string for Prisma ORM
.env.local
- NextAUTH - for auth
- uploadthings - for storing files
- rossum - for invoice data exporting
- openAI - for automatic Project management assistant
- SMPT and IMAP for emails
-
Init Prisma
pnpm prisma generate pnpm prisma db push
-
Import initial data from initial-data folder
pnpm prisma db seed
-
Run app on local
pnpm run dev
For self-hosted deployments, you can use Docker:
# Build image docker build -t nextcrm . # Run container docker run -e DATABASE_URL="..." -p 3000:3000 nextcrm
See Docker Hub for more details.
Vercel (Recommended):
- Easy setup with git integration
- Automatic deployments
- Built-in analytics and monitoring
Self-Hosted:
- Full control over infrastructure
- Docker containerization support
- Support for custom domains and SSL
See ARCHITECTURE.md for detailed deployment instructions.
We welcome contributions from the community! Every contribution helps make NextCRM better.
- Report Issues - Open an issue for bugs or feature requests
- Submit PRs - See CONTRIBUTING.md for development guidelines
- Join Discussions - Share ideas in GitHub Discussions
Made with contrib.rocks.
- Website: https://nextcrm.io
- Demo: https://demo.nextcrm.io
- GitHub: https://github.com/DrivenIdeaLab/nextcrm-app
- Twitter: https://twitter.com/nextcrmapp
- Discord: https://discord.gg/dHyxhTEzUb
- YouTube: https://www.youtube.com/@NextCRM_IO
Licensed under the MIT License - see LICENSE file for details.
Made with ❤️ by the NextCRM community
