一款基于 React、shadcn/ui 和 Supabase 构建的功能完备的 CRM。
A full-featured CRM built with React, shadcn-admin-kit, and Supabase.
Atomic CRM is free and open-source. You can test it online at .
To run this project locally, you will need the following tools installed on your computer:
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:
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/.
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
Atomic CRM components are published as a shadcn registry. This registry can't be used to bootstrap a new CRM app (use Installation for that), but it's a convenient way to keep the components you forked in sync with upstream.
Once you've forked and customized Atomic CRM, periodically run the following command to pull in the latest component updates:
npx shadcn add https://marmelab.com/atomic-crm/r/atomic-crm.json -o -y
-o overwrites the files that changed upstream-y skips the confirmation prompt (prefer this over piping yes | into the command)Commit your work before running this command so you can review the diff and resolve any conflict with your own customizations. See the Getting Updates chapter of the documentation for details.
The registry file is kept up to date automatically:
registry.json file is automatically generated by the scripts/generate-registry.mjs script as a pre-commit hook (make registry-gen).https://marmelab.com/atomic-crm/r/atomic-crm.json file is automatically built and published by the CI/CD pipeline (make registry-build, make registry-deploy).[!WARNING]
If theregistry.jsonmisses some changes you made, you MUST update thescripts/generate-registry.mjsto include those changes.
This project is licensed under the MIT License, courtesy of Marmelab. See the LICENSE.md file for details.
暂无开放 Issues,或尚未同步最近议题。