You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p><strong>A Rust portfolio application built to demonstrate architecture, realtime delivery, and operational clarity under load.</strong></p>
6
+
<p><strong>A Rust portfolio application focused on architecture, realtime delivery, and runtime visibility.</strong></p>
7
7
<p>
8
8
<a href="https://eran.codes">Live site</a>
9
9
·
@@ -18,44 +18,23 @@
18
18
19
19
# eran.codes
20
20
21
-
`eran_codes` is the codebase behind my portfolio site. It is designed to show how I build software when boundaries, runtime behavior, and maintainability matter more than shipping another generic web app.
21
+
`eran_codes` is the Rust workspace behind my portfolio site at <https://eran.codes>.
22
22
23
-
The demos are not decoration. They are the architecture made inspectable.
23
+
This project is a working portfolio site and a place to show how I structure Rust web systems with clear boundaries, realtime updates, and visible runtime behavior.
The focus is on system behavior rather than isolated features: crate boundaries, SSE-driven UI state, request tracing, and the operational surfaces around them.
-**Boundary discipline.**`http`, `app`, `domain`, and `infra` are separate crates with distinct responsibilities, not one module tree with polite comments.
30
-
-**Realtime delivery without hand-waving.** UI state converges through SSE + Datastar, with session-aware stream routing instead of ad hoc polling.
31
-
-**Observability as a product feature.** Request metadata, backend flow, and live operational timelines are visible in the UI, not buried in logs alone.
32
-
-**Operational thinking.** Sessions are durable, tracing is layered, and the request-burst surface stresses the app without abandoning clarity.
33
-
-**Typed view and domain contracts.** Maud components, newtypes, enums, and workflow surfaces replace template sprawl and brittle stringly logic.
29
+
## What This System Demonstrates
34
30
35
-
## Evaluate It In Five Minutes
31
+
-**Boundary discipline.**`http`, `app`, `domain`, and `infra` are separate crates with clear responsibilities.
32
+
-**Realtime delivery.** UI state converges through SSE + Datastar with session-aware stream routing.
33
+
-**Runtime visibility.** Request metadata, backend flow, and live operational timelines are surfaced in the UI.
34
+
-**Operational concerns in the app itself.** Sessions are durable, tracing is layered, and the request-burst surface is there to inspect runtime behavior.
35
+
-**Typed contracts across the stack.** Maud components, domain newtypes and enums, and explicit workflow types keep rendering and business logic structured.
36
36
37
-
1. Visit [`/lab`](https://eran.codes/lab).
38
-
This is the fastest proof surface. It combines live chat, request burst traffic, auth/session panels, and the operational timeline.
-> deeper diagnostic stream for engineering visibility
74
53
```
75
54
76
-
`[src/main.rs](./src/main.rs)` is the composition root. It wires tracing, Postgres-backed sessions, app services, the SSE registry, and the HTTP router into one runtime.
55
+
At the crate-boundary level, the workspace stays intentionally layered:
56
+
57
+
```text
58
+
browser
59
+
|
60
+
v
61
+
http
62
+
routing, handlers, SSE, Maud
63
+
|
64
+
v
65
+
app
66
+
use-case services
67
+
|
68
+
v
69
+
domain
70
+
types and invariants
71
+
72
+
infra supplies the Postgres, hashing, repository,
73
+
and session-backed runtime pieces used by the outer layers.
74
+
```
75
+
76
+
`[src/main.rs](./src/main.rs)` is the composition root. It wires:
77
77
78
-
## Core Runtime Surfaces
78
+
- tracing
79
+
- Postgres-backed sessions
80
+
- app services
81
+
- the SSE registry
82
+
- the HTTP router
79
83
80
-
| Surface | Path | What it demonstrates |
84
+
into one runtime.
85
+
86
+
## Observe The System Running
87
+
88
+
These pages expose runtime behavior directly in the UI.
89
+
90
+
| Surface | Path | What to observe |
81
91
| --- | --- | --- |
82
92
| Lab |[`/lab`](https://eran.codes/lab)| Live chat, request burst traffic, auth/session panels, and the operational timeline |
83
93
| Chat system |[`/work/chat-realtime`](https://eran.codes/work/chat-realtime)| Persisted messaging, moderation, rate limiting, and SSE fanout |
0 commit comments