Skip to content

marmelab/atomic-crm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,245 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Atomic CRM

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

atomic-crm.mp4

Atomic CRM is free and open-source. You can test it online at https://marmelab.com/atomic-crm-demo.

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 22 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 your 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:

Documentation

The user and developer documentation for this project is available in the doc/ directory. You can also read it online at https://marmelab.com/atomic-crm/doc/.

Testing Changes

This project contains unit tests and e2e. Run unit test with the following command:

make test

Run e2e test with:

make test-e2e

Note: the make test-e2e will run the the e2e test in ui mode against a vite server with hot reload for ease of development. On the CI the e2e test will be run against the built app. If you need to run the test against the built file instead. You can run:

make start-e2e-ci # To launch the CI e2e environment (serving the built app)
# followed by
npx playwright test --ui

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. And you can also add your own e2e test. The e2e test files should be placed inside the ./e2e folder

Getting Updates

Atomic CRM components are published as a Shadcn Registry file. This means you can update your installation by calling the following command:

npx shadcn add https://marmelab.com/atomic-crm/r/atomic-crm.json -o

Registry

The Registry file is kept au to date when files are added or removed:

  • The registry.json file is automatically generated by the scripts/generate-registry.mjs script as a pre-commit hook.
  • The http://marmelab.com/atomic-crm/r/atomic-crm.json file is automatically published by the CI/CD pipeline

Warning

If the registry.json misses some changes you made, you MUST update the scripts/generate-registry.mjs to include those changes.

License

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