Skip to content

Commit 2a467f2

Browse files
authored
Feat/update readme (#101)
* update readme * update readme * update readme * update readme * update readme * update readme * update readme * update readme * update readme
1 parent e548df9 commit 2a467f2

3 files changed

Lines changed: 54 additions & 21 deletions

File tree

README.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,61 @@
11
# ✈️ Tripr
22

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)**.
44
55
[![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)](https://github.com/example/tripr/actions)
66
[![Kotlin](https://img.shields.io/badge/Kotlin-2.3.10-blue.svg)](https://kotlinlang.org/)
77
[![Angular](https://img.shields.io/badge/Angular-21-red.svg)](https://angular.dev/)
88
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
99

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.
1111

1212
### 🏗️ Architecture Overview
1313

1414
```mermaid
1515
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
2050
```
2151

2252
### 🛠️ Tech Stack
2353

2454
| Component | Key Technologies |
2555
|:-------------|:-------------------------------------------------------------------------------------|
2656
| **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) |
2859
| **DevOps** | Docker, GitHub Actions, Ansible |
2960

3061
---
@@ -63,4 +94,4 @@ cd frontend && npm install && npm run dev
6394
---
6495

6596
- 📖 [**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*

backend/README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# 🏗️ Tripr API — Backend
22

3-
Robust API built with **Spring Boot 3.4** and **Kotlin**, using a strict **Hexagonal Architecture** to ensure domain isolation and testability.
3+
Robust API built with **Spring Boot 4** and **Kotlin**, using a strict **Hexagonal Architecture** to ensure domain isolation and testability.
4+
5+
The project follows a **Contract-First** approach using **OpenAPI**. The server-side code is generated from the OpenAPI spec, ensuring a perfect sync between documentation and implementation.
46

57
🔗 **Swagger UI** (dev mode): [http://localhost:8080/api/swagger-ui](http://localhost:8080/api/swagger-ui)
68

@@ -13,14 +15,14 @@ The project follows the **Ports & Adapters** pattern to decouple business logic
1315
- **`domain/`**: **The Core**.
1416
- `model/`: Domain entities and value objects.
1517
- `port/`: Inbound (In) and Outbound (Out) interfaces.
16-
- `service/`: Business orchestration implementing *In-Ports* by using *Out-Ports*.
18+
- `service/`: Business orchestration. Services implement *In-Ports* and use *Out-Ports* to execute business logic.
1719
- **`infrastructure/`**: **The Adapters**.
18-
- Concrete port implementations (JPA/PostgreSQL Persistence, JWT Security, SMTP Email).
19-
- REST Controllers and external configurations.
20+
- Concrete implementations of *Out-Ports* (Persistence with JPA/PostgreSQL, Security with JWT, Email with SMTP).
21+
- Inbound adapters such as REST Controllers.
2022
- **`application/`**: **The Shell**.
21-
- Application bootstrap (Main class).
22-
- Global configuration (Spring, Security, Liquibase).
23-
- Integration tests and architectural compliance (**ArchUnit**).
23+
- Entry point of the application (Main class).
24+
- Global configurations (Spring, Security, Docker Compose).
25+
- Integration tests and architectural validation (**ArchUnit**).
2426

2527
---
2628

frontend/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ Modern **Angular 21** application, optimized for performance and developer exper
66

77
### 🎨 Principles & Conventions
88

9-
This project embraces the latest innovations in the Angular ecosystem:
9+
This project follows modern Angular standards to ensure maintainability and performance:
1010

11-
- **Signals**: Reactive and granular state management.
12-
- **Zoneless**: Removal of `zone.js` for increased performance and better control over the rendering cycle.
13-
- **Standalone Components**: Modular architecture without `NgModules`.
14-
- **Vite & Analog**: Ultra-fast tooling for development and build.
15-
- **Internationalization**: Multi-language support via **Transloco**.
11+
- **Standalone Components**: Modular architecture without the overhead of `NgModules`.
12+
- **Reactive State**: Strategic use of **Signals** and **RxJS** for clean data flow.
13+
- **Performance**: Optimization with **Zoneless** change detection.
14+
- **Tooling**: Ultra-fast development and builds via **Vite** and **Analog**.
15+
- **I18n**: Full internationalization support with **Transloco**.
1616

1717
---
1818

0 commit comments

Comments
 (0)