A full-featured CRM built with React, react-admin, and Supabase.
react-admin-crm.mp4
Atomic CRM is free and open-source. You can test it online at https://marmelab.com/react-admin-crm.
- 📇 Organize Contacts: Keep all your contacts in one easily accessible place.
- ⏰ Create Tasks & Set Reminders: Never miss a follow-up or deadline.
- 📝 Take Notes: Capture important details and insights effortlessly.
- ✉️ Capture Emails: CC Atomic CRM to automatically save communications as notes.
- 📊 Manage Deals: Visualize and track your sales pipeline in a Kanban board.
- 🔄 Import & Export Data: Easily transfer contacts in and out of the system.
- 🔐 Control Access: Log in with Google, Azure, Keycloak, and Auth0.
- 📜 Track Activity History: View all interactions in aggregated activity logs.
- 🔗 Integrate via API: Connect seamlessly with other systems using our API.
- 🛠️ Customize Everything: Add custom fields, change the theme, and replace any component to fit your needs.
To run this project locally, you will need the following tools installed on your computer:
- Make
- Node 20 LTS
- Docker (required by Supabase)
Fork the marmelab/atomic-crm
repository to your user/organization, then clone it locally:
git clone https://github.com/[username]/atomic-crm.git
Install dependencies:
cd atomic-crm
make install
This will install the dependencies for the frontend and the backend, including a local Supabase instance.
Once you app is configured, start the app locally with the following command:
make start
This will start the Vite dev server for the frontend, the local Supabase instance for the API, and a Postgres database (thanks to Docker).
You can then access the app via http://localhost:5173/. You will be prompted to create the first user.
If you need debug the backend, you can access the following services:
- Supabase dashboard: http://localhost:54323/
- REST API: http://127.0.0.1:54321
- Attachments storage: http://localhost:54323/project/default/storage/buckets/attachments
- Inbucket email testing service: http://localhost:54324/
To customize Atomic CRM, you will need TypeScript and React programming skills as there is no graphical user interface for customization. Here are some resources to assist you in getting started.
- Customizing the CRM
- Creating Migrations (optional)
- Using Fake Rest Data Provider for Development (optional)
- Architecture Decisions (optional)
This project contains unit tests. Run them with the following command:
make test
You can add your own unit tests powered by Jest anywhere in the src
directory. The test files should be named *.test.tsx
or *.test.ts
.
This project is licensed under the MIT License, courtesy of Marmelab. See the LICENSE.md file for details.