/atomic-crm

A full-featured CRM built with React, react-admin, and Supabase.

Primary LanguageTypeScriptMIT LicenseMIT

Atomic CRM

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.

Features

  • 📇 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.

Installation

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:

User Documentation

  1. User Management
  2. Importing And Exporting Data
  3. Inbound Email

Deploying to Production

  1. Configuring Supabase
  2. Configuring Inbound Email (optional)
  3. Deployment

Customizing Atomic CRM

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.

  1. Customizing the CRM
  2. Creating Migrations (optional)
  3. Using Fake Rest Data Provider for Development (optional)
  4. Architecture Decisions (optional)

Testing Changes

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.

License

This project is licensed under the MIT License, courtesy of Marmelab. See the LICENSE.md file for details.