Skip to content

Commit 06fde6a

Browse files
committed
Add images
1 parent de7c36c commit 06fde6a

14 files changed

+34
-5
lines changed

doc/Readme.md

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ Atomic CRM is designed to be easy to customize and extend by developers with bas
1414

1515
1. Fork the Atomic CRM repository on GitHub to your own account.
1616

17+
![Fork the repository](./images/atomic-crm-repository.png)
18+
1719
2. Clone your forked repository to your local machine:
1820

1921
```bash
@@ -43,24 +45,34 @@ Atomic CRM is designed to be easy to customize and extend by developers with bas
4345

4446
Atomic CRM now runs at [http://localhost:5173/](http://localhost:5173/).
4547

48+
![Welcome Screen](./images/welcome-screen.png)
49+
50+
:::tip
4651
If you need debug the backend, you can access the following services:
4752

4853
- Supabase dashboard: [http://localhost:54323/](http://localhost:54323/)
4954
- REST API: [http://127.0.0.1:54321](http://127.0.0.1:54321)
5055
- Attachments storage: [http://localhost:54323/project/default/storage/buckets/attachments](http://localhost:54323/project/default/storage/buckets/attachments)
5156
- Inbucket email testing service: [http://localhost:54324/](http://localhost:54324/)
57+
:::
5258

5359
## Admin User Setup
5460

5561
When you first access the application at [http://localhost:5173/](http://localhost:5173/), you will be prompted to create the first admin user. This user will have full access to the application and will be able to manage other users.
5662

57-
Once the admin user is created, you will be redirected to the dashboard. It's showing an onboarding screen to help you get started as long as there is no data in the database.
63+
Once the admin user is created, you will be redirected to the dashboard. It's currently showing an onboarding screen to help you get started as long as there is no data in the database.
64+
65+
![Onboarding Screen](./images/onboarding.png)
5866
5967
## Bootstrapping with Sample Data
6068
6169
It's easier to develop on a non-empty application. Atomic CRM provides a sample dataset you can import to get started. Click the import button and choose the sample data file at `test-data/contacts.csv`. This will add 500 contacts and 55 companies to your local database.
6270

63-
Play with the application to get familiar with its features. Add a few notes and tasks to some contacts. This will end the onboarding and reveal the regular dashboard.
71+
![Import dialog](./images/import.png)
72+
73+
Now you can navigate to the Contacts list. Play with the application to get familiar with its features. Add a few notes and tasks to some contacts. This will end the onboarding and reveal the regular dashboard.
74+
75+
![Contact List](./images/contact-list.png)
6476

6577
:::tip
6678
If you need to reset the database, stop the Supabase instance with `npx supabase stop --no-backup`, and restart it with `npx supabase start`.
@@ -94,6 +106,8 @@ const App = () => (
94106
export default App;
95107
```
96108
109+
![Customized Title](./images/customized-title.png)
110+
97111
Check the [Customizing Atomic CRM](./doc/developer/customizing.md) guide for an exhaustive list of configuration settings you can customize.
98112
99113
## Adding Custom Fields
@@ -102,19 +116,26 @@ You can extend the data model of Atomic CRM by adding custom fields to the exist
102116
103117
You will do so in the Supabase Studio. To access the Studio, go to [http://localhost:54323/](http://localhost:54323/).
104118
119+
![Supabase Studio](./images/supabase-studio.png)
120+
105121
We're going to add a custom field to the Contacts table: a "Referred By" text field to store the name of the person who referred the contact.
106122
107123
1. Click on the Database menu
108124
2. Choose the Tables section in the Database management panel. You will see the list of tables used by Atomic CRM.
109125
3. Click on the `contacts` table in the list of tables.
110126
4. Click on the "New Column" button to add a new column to the table.
127+
128+
![Supabase Tables](./images/supabase-tables.png)
129+
111130
5. In the "Add new column to contacts" dialog, enter the following details:
112131
- Name: `referred_by`
113132
- Type: `text`
114133
- Default value: leave empty
115134
- Allow Nullable: checked
116135
6. Finally, click on the "Save" button to add the new column to the table.
117136
137+
![Supabase New Column](./images/supabase-new-column.png)
138+
118139
Atomic CRM uses views to simplify the queries. You need to update the `contacts_summary` view to include the new `referred_by` field.
119140
120141
1. Click on the "SQL Editor" menu in the left sidebar.
@@ -139,16 +160,20 @@ Atomic CRM uses views to simplify the queries. You need to update the `contacts_
139160
co.id, c.name;
140161
```
141162
142-
3. Click on the "Run" button to execute the SQL command.
163+
![Supabase SQL Editor](./images/supabase-sql-editor.png)
143164
144-
4. Create a migration for these changes, to allow them to be replicated in production. Run the following command in your terminal:
165+
3. Click on the "Run" button to execute the SQL command. You will need to confirm the action since it will drop and recreate the view.
166+
167+
4. Create a migration for these schema changes, to allow them to be replicated in production. Run the following command in your terminal:
145168
146169
```sh
147170
npx supabase db diff -f create_referred_by
148171
```
149172
150173
This will create a new migration file in the `supabase/migrations` folder. Supabase will automatically apply this migration when you deploy to production.
151174
175+
That's it! You've just added a custom field to the Contacts entity. Supabase automatically updates the API to include the new field.
176+
152177
## Displaying Custom Fields in the Frontend
153178
154179
Next, you need to make this new field available in the frontend.
@@ -228,6 +253,8 @@ const ContactMiscInputs = () => {
228253
229254
The application will automatically pick up this code change. Go back to [http://localhost:5173/](http://localhost:5173/) and you can now create or edit a contact and set the "Referred By" field.
230255
256+
![Referred By in Contact Form](./images/contact-inputs-referred-by.png)
257+
231258
Finally, update the Contacts sidebar to display the referrer when available. Open the `src/atomic-crm/contacts/ContactAside.tsx` file and add a new `<TextField>` for the `referred_by` field.
232259
233260
```tsx{4-11}
@@ -255,7 +282,7 @@ export const ContactAside = ({ link = "edit" }: { link?: "edit" | "show" }) => {
255282
256283
This will display the "Referred By" information in the contact sidebar when available.
257284
258-
## Customizing The UI
285+
![Contact Sidebar](./images/contact-sidebar.png)
259286
260287
## Deploying to Production
261288
@@ -291,6 +318,8 @@ After a couple minutes, your customized CRM will be available at `https://<usern
291318
292319
You can proceed with the creation of the first admin user and start using your CRM in production!
293320
321+
![Atomic CRM in Production](./images/atomic-crm-demo.png)
322+
294323
:::tip
295324
Supabase.com and GitHub Pages are just two of the many services you can use to host your Atomic CRM. You can [self-host a supabase instace](https://supabase.com/docs/guides/self-hosting), and use any static server or CDN (e.g. CloudFlare, Netlify, Vercel, etc.) to host the frontend.
296325
:::

doc/images/atomic-crm-demo.png

245 KB
Loading
234 KB
Loading
121 KB
Loading

doc/images/contact-list.png

179 KB
Loading

doc/images/contact-sidebar.png

85.4 KB
Loading

doc/images/customized-title.png

57.9 KB
Loading

doc/images/import.png

63.8 KB
Loading

doc/images/onboarding.png

60.7 KB
Loading

doc/images/supabase-new-column.png

136 KB
Loading

0 commit comments

Comments
 (0)