Skip to content

Commit 2036f12

Browse files
committed
Add architecture schema
1 parent 06fde6a commit 2036f12

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

doc/developer/architecture-choices.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,21 @@
22

33
This document explains some of the architecture decisions made in the development of Atomic CRM.
44

5+
## Components
6+
7+
![Architecture Diagram](../images/architecture.png)
8+
9+
The frontend is a Single-Page Application built with [Shadcn Admin Kit](https://marmelab/shadcn-admin-kit), a React application framework that glues together the most popular and robust React libraries, such as:
10+
11+
- [React Router](https://reactrouter.com/) for routing
12+
- [React Query](https://tanstack.com/query/latest) for data fetching and caching
13+
- [React Hook Form](https://react-hook-form.com/) for form management
14+
- [Shadcn UI](https://ui.shadcn.com/) for beautiful, accessible, and customizable components
15+
- [Radix UI](https://www.radix-ui.com/) for accessible UI components
16+
- [Tailwind CSS](https://tailwindcss.com/) for styling
17+
18+
For the backend, Atomic CRM leverages [Supabase](https://supabase.com/). Supabase provides a PostgreSQL database, a REST API, authentication, storage, and edge functions. In practice, this means that there is very little backend code to maintain (a few edge functions for user management and inbound email processing).
19+
520
## Views
621

722
Some pages in Atomic CRM require data from multiple tables. To simplify the frontend code and reduce the HTTP overhead, Atomic CRM uses database views to abstract the complexity of the queries.

doc/images/architecture.png

171 KB
Loading

0 commit comments

Comments
 (0)