NextCRM is an open-source CRM built with Next.js 16, React 19, TypeScript, PostgreSQL (Prisma 7), and shadcn/ui. Features CRM, project management, invoicing, document storage, email client, and AI-powered features.
Introduction · Tech Stack + Features · Roadmap · Installation · Repo activity · License · Discord
You can try it here demo.nextcrm.io, login via Google account or create new user and password.
- Next.js 16.1.6 – React framework for building performant apps with the best developer experience (App Router)
- next-auth 4.x – Handle user authentication with ease with providers like Google, GitHub, and Credentials
- Prisma 7.4.0 – TypeScript-first ORM for PostgreSQL
- React Email 2.x – Versatile email framework for efficient and flexible email development
- PostgreSQL 17+ – Powerful open-source relational database (self-hosted or any provider)
- Resend – A powerful email framework for streamlined email development together with react.email
- UploadThing + S3-compatible storage (DigitalOcean Spaces) – for document file storage
- 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 Table - for data tables and server/client side data fetching
- Tailwind CSS v4 – 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
- Lucide React – Beautiful and consistent open-source icons
- OpenAI API - for automated email notifications and project management assistant
- Rossum - for invoice document parsing with AI
- Vercel AI SDK 6.x - unified AI interface
- next-intl – Internationalization for Next.js — English, Czech, German, Ukrainian
- ✅ Docker version — complete bundle to run NextCRM on-premise
- ✅ Upgrade to Next.js 16 — running on Next.js 16.1.6 with React 19
- ✅ i18n / localization — 4 languages (English, Czech, German, Ukrainian)
- ✅ Email client — IMAP/SMTP email client built in
- ✅ PostgreSQL migration — migrated from MongoDB to PostgreSQL 17+
- 🔄 More AI powered features — daily summary of tasks and projects (extended OpenAI integration)
- 📋 Email campaigns management — integration with MailChimp and Listmonk
- 📋 Testing expansion — Jest + Playwright coverage (contributions welcome!)
- 🔄 Fix all TypeScript
anytypes — ongoing cleanup
We use resend.com + react.email as primary email sender and email templates.
We use Tremor charts as a tool for creating charts in NextCRM
Youtube Channel
Invoice module (video)
Available soon at: http://docs.nextcrm.io
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 a PostgreSQL connection string for Prisma ORM
- Example:
DATABASE_URL="postgresql://user:pass@localhost:5432/nextcrm?schema=public" - Requires PostgreSQL 17+ (self-hosted or any provider)
.env.local
- NextAUTH - for auth
- uploadthings - for storing files
- rossum - for invoice data exporting
- openAI - for automatic Project management assistant
- SMTP 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
Show instructions
-
Make sure you have docker and docker-compose installed
-
Prepare .env and .env.local files
.env (for Prisma URI string) and .env.local (all others ENVs) file inside docker folder -
build docker image
docker build -t nextcrm . -
Run docker container
docker run -p 3000:3000 nextcrm
We are open to the NextCRM community contributions. Every contribution is welcome.
- Open an issue if you find a bug or have a suggestion for improvements.
Made with contrib.rocks.
Licensed under the MIT license.


