|
1 | 1 | # ✈️ Tripr |
2 | 2 |
|
3 | | -> **fast SaaS Starter** combining the power of **Spring Boot 3 (Kotlin)** and the reactivity of **Angular 21 (Signals)**. |
| 3 | +> **Modern SaaS Starter** combining the power of **Spring Boot 4 (Kotlin)** and the reactivity of **Angular 21 (Signals)**. |
4 | 4 |
|
5 | 5 | [](https://github.com/example/tripr/actions) |
6 | 6 | [](https://kotlinlang.org/) |
7 | 7 | [](https://angular.dev/) |
8 | 8 | [](LICENSE) |
9 | 9 |
|
10 | | -Tripr is a production-ready template designed for scalability, security, and a smooth developer experience. It integrates a strict hexagonal architecture on the backend and a reactive zoneless approach on the frontend. |
| 10 | +Tripr is a production-ready template designed for scalability, security, and a smooth developer experience. It features a **contract-first approach** using OpenAPI to bridge the gap between a strict Hexagonal backend and a reactive Zoneless frontend. |
11 | 11 |
|
12 | 12 | ### 🏗️ Architecture Overview |
13 | 13 |
|
14 | 14 | ```mermaid |
15 | 15 | graph LR |
16 | | - User((User)) <--> Front[Angular App <br/><i>Signals & Zoneless</i>] |
17 | | - Front <--> Back[Spring Boot API <br/><i>Hexagonal Architecture</i>] |
18 | | - Back <--> DB[(PostgreSQL)] |
19 | | - Back <--> SMTP[SMTP Service] |
| 16 | +
|
| 17 | + subgraph Angular |
| 18 | + A1[Components] |
| 19 | + A2[Services] |
| 20 | + end |
| 21 | +
|
| 22 | + subgraph OpenAPI-Generator |
| 23 | + O1[openapi.yaml] |
| 24 | + O2[TS Client] |
| 25 | + end |
| 26 | +
|
| 27 | + subgraph Spring-Boot |
| 28 | + subgraph adapters-in |
| 29 | + B1[REST Controllers] |
| 30 | + end |
| 31 | + subgraph domain |
| 32 | + B2[Ports In] |
| 33 | + B3[Services / Use Cases] |
| 34 | + B4[Ports Out] |
| 35 | + end |
| 36 | + subgraph adapters-out |
| 37 | + B5[Persistence JPA] |
| 38 | + B6[Notification Email] |
| 39 | + end |
| 40 | + subgraph application |
| 41 | + B7[Main / Config] |
| 42 | + end |
| 43 | +
|
| 44 | + B1 --> B2 --> B3 --> B4 |
| 45 | + B4 --> B5 |
| 46 | + B4 --> B6 |
| 47 | + end |
| 48 | +
|
| 49 | + A2 --> O1 --> O2 --> B1 |
20 | 50 | ``` |
21 | 51 |
|
22 | 52 | ### 🛠️ Tech Stack |
23 | 53 |
|
24 | 54 | | Component | Key Technologies | |
25 | 55 | |:-------------|:-------------------------------------------------------------------------------------| |
26 | 56 | | **Backend** | Kotlin, Spring Boot 4.+, Spring Security (JWT), Liquibase, MapStruct, Testcontainers | |
27 | | -| **Frontend** | Angular 21, Vite, Vitest, Bootstrap 5, Transloco (i18n), Signals | |
| 57 | +| **Frontend** | Angular 21, Vite, Vitest, Bootstrap 5, Transloco (i18n), Signals, Zoneless | |
| 58 | +| **Bridge** | **OpenAPI Generator** (Automatic Model & API Synchronization) | |
28 | 59 | | **DevOps** | Docker, GitHub Actions, Ansible | |
29 | 60 |
|
30 | 61 | --- |
@@ -63,4 +94,4 @@ cd frontend && npm install && npm run dev |
63 | 94 | --- |
64 | 95 |
|
65 | 96 | - 📖 [**Backend Documentation**](backend/README.md) — *Architecture, API & Tests* |
66 | | -- 📖 [**Frontend Documentation**](frontend/README.md) — *Signals, Standalone & Vite* |
| 97 | +- 📖 [**Frontend Documentation**](frontend/README.md) — *Modern Angular, Tooling & Vite* |
0 commit comments