This is the beginning of Open CRM: a developer-first, open-source Customer Relationship Management system built for the modern web. The goal is to create a powerful, self-hostable, and beautiful CRM that teams and individuals will love to use.
The project has been initialized with a solid foundation. Now is the perfect time to get involved and shape its future.
We are building a CRM that is:
- Developer-First: With a clean codebase, modern tooling, and a focus on extensibility, contributing should be a joy.
- Truly Open-Source: No paid tiers, no feature-gating. All features will be available under the MIT license. Fork it, customize it, own your data.
- Modern & Performant: Leveraging the best of the React and Node.js ecosystems to create a fast, responsive, and reliable user experience.
This is what we plan to build. Your contributions can help bring this list to life.
- Authentication: Secure user login (email/password, social logins).
- Contact Management: CRUD for leads, contacts, and companies.
- Deal Management: Visual sales pipelines with customizable stages.
- Task & Activity Management: Assign and track tasks, log calls, and schedule meetings.
- Team Management: Invite members and manage roles (Admin, Manager, Sales).
- [...and more]
- Dashboard & Analytics: Key metrics, charts, and revenue forecasting.
- Global Search: A single, powerful search bar to find anything.
- Public API: A REST API for third-party integrations.
The initial project structure is built on a solid, modern foundation designed for scalability and a great developer experience.
- Framework: ▲ Next.js 14 (App Router)
- Language: T TypeScript
- Database: 🐘 PostgreSQL with Prisma ORM
- Styling: 🎨 Tailwind CSS with ShadCN UI
- Authentication: 🔐 NextAuth.js
- Forms & Validation: 📋 React Hook Form & Zod
- Deployment: ▲ Vercel
This project is in its infancy, and you can make a significant impact. We welcome contributors of all skill levels.
How you can help:
- Build a core feature: Pick an unchecked item from the roadmap.
- Set up UI components: Help build out the component library with ShadCN UI.
- Improve the developer experience: Enhance documentation, scripts, or testing.
- Discuss the architecture: Join the Discussions and help shape the technical direction.
Ready to contribute? Here’s how to get the project running locally.
git clone https://github.com/suryawansh/smart-crm.git
cd open-crmWe recommend using pnpm.
pnpm installCreate a .env.local file by copying the example.
cp .env.example .env.localYou'll need to provide:
DATABASE_URL: Your PostgreSQL connection string.NEXTAUTH_SECRET: A secret key for session encryption.
The easiest way to run PostgreSQL locally is with Docker.
# Start the PostgreSQL container (a docker-compose.yml is included)
docker-compose up -d
# Apply the database schema
pnpm prisma migrate devpnpm devThe app will be available at http://localhost:3000.
The boilerplate is set up with a logical structure to make development intuitive.
/app # Next.js App Router pages and layouts
/components # Shared UI components (built with ShadCN UI)
/lib # Utility functions and shared libraries
/prisma # Prisma schema, migrations, and seeds
/types # Global TypeScript type definitions
/middleware.ts # Middleware for authentication and authorization
This project is licensed under the MIT License. See the LICENSE file for details.