Skip to content

robert-cousins/atomic-crm

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

611 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Atomic CRM

Atomic CRM is a full-featured, open-source CRM originally developed by Marmelab and extended here with a fully documented, repeatable deployment process.

This repository focuses on:

  • deterministic local setup (WSL + Docker)
  • Supabase-backed auth and data
  • Vercel-based frontend deployment
  • automation-ready documentation

Demo (upstream):
https://marmelab.com/atomic-crm-demo


πŸš€ Start Here (Required Reading)

If you are setting up this project locally or deploying it yourself, start with these documents in order:

  1. πŸ“˜ Installation
    β†’ docs/INSTALLATION.md
    Canonical, step-by-step setup from a fresh machine.

  2. 🧠 Lessons Learned
    β†’ docs/LESSONS_LEARNED.md
    Root causes of issues encountered during real deployments, and how they were fixed.

  3. πŸ›  Troubleshooting
    β†’ docs/TROUBLESHOOTING.md
    Symptom β†’ cause β†’ fix reference.

  4. 🧩 Architecture
    β†’ docs/ARCHITECTURE.md
    System boundaries, environments, and trust model.

If something is not written in these docs, it is not considered part of the supported setup.


πŸ” Environment Variables (Important)

This project does not commit environment files.

Local development

  • .env.local or .env.development
  • gitignored
  • used by local tooling (Vite, Supabase functions, scripts)
  • developer-specific values

Production

  • No .env.production file is committed
  • Values live in:
    • Vercel Environment Variables (Frontend)
    • Supabase Secrets (Edge Functions, if used)

The committed file .env.example defines the required schema only.


✨ Features

  • πŸ“‡ Organize Contacts – Centralized contact management
  • ⏰ Tasks & Reminders – Never miss a follow-up
  • πŸ“ Notes – Capture insights and context
  • βœ‰οΈ Inbound Email Capture – Save emails as CRM notes
  • πŸ“Š Deal Management – Kanban-style sales pipeline
  • πŸ”„ Import / Export – Move data in and out easily
  • πŸ” Authentication – Google, Azure, Keycloak, Auth0
  • πŸ“œ Activity History – Aggregated interaction logs
  • πŸ”— API Integration – Connect external systems
  • πŸ› οΈ Customizable – Fields, themes, components

πŸ“š User Documentation (Upstream)


🚒 Deploying to Production (Upstream Guides)

These guides describe the application’s capabilities.
The canonical install flow for this repo lives in docs/INSTALLATION.md.


🎨 Customizing Atomic CRM

Customisation requires TypeScript and React knowledge.


πŸ§ͺ Testing

Run unit tests with:

make test
Tests use Jest and live alongside source files as *.test.ts or *.test.tsx.

πŸ“¦ Registry
Atomic CRM components are published as a Shadcn Registry:

registry.json is generated by scripts/generate-registry.mjs (pre-commit hook)

The published registry lives at:
http://marmelab.com/atomic-crm/r/atomic-crm.json

⚠️ If registry.json is missing changes, update scripts/generate-registry.mjs.

πŸ“„ License
MIT License, courtesy of Marmelab.
See LICENSE.md.

About

A full-featured CRM built with React, shadcn/ui, and Supabase.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 93.8%
  • PLpgSQL 1.7%
  • Shell 1.5%
  • HTML 1.2%
  • JavaScript 0.9%
  • CSS 0.6%
  • Makefile 0.3%