Compare commits
3 Commits
bf6f5456d6
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
87f584b1fa | ||
|
|
47cfc67ef4 | ||
|
|
65157da61d |
@@ -1,4 +1,9 @@
|
||||
- auth
|
||||
- login user
|
||||
- register user
|
||||
- chnage password
|
||||
-
|
||||
-
|
||||
|
||||
- registration, login, refresh, logout, password change, own profile
|
||||
- routes: POST /register, /login, /refresh, /logout, /change-password; GET/PUT /me
|
||||
- events emit: user.registered, user.logged_in
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
- __init__.py (router, on_load)
|
||||
- __init__.py:
|
||||
- models.py (User, RefreshToken)
|
||||
- manifest.yaml
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
- core-apps
|
||||
- shipped with the system, required for a functional shop
|
||||
- same mechanics as any other app (manifest.yaml, router, migrations, events, DI) — no special status in the loader
|
||||
- typically declared `required: true` in manifest so they cannot be switched off
|
||||
- distinct from custom-apps (optional / third-party, not shipped)
|
||||
- cover: auth, product catalog, cart, checkout, payment, orders, mail, shipment (planned), plus the AI layer (ai_core, ai_shop, ai_admin)
|
||||
- auth
|
||||
- manage users
|
||||
- login user
|
||||
- register user
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
- auth
|
||||
- catalog
|
||||
- cart
|
||||
- checkout
|
||||
- payment
|
||||
- orders
|
||||
- mail
|
||||
- ai_core
|
||||
- ai_shop
|
||||
- ai_admin
|
||||
- shipment (planned, not implemented)
|
||||
- auth
|
||||
- hashing: argon2
|
||||
- token: JWT (15m/30d)
|
||||
- events
|
||||
- user.registered
|
||||
- user.logged_id
|
||||
9
doc/core/cache/features.md
vendored
9
doc/core/cache/features.md
vendored
@@ -1,5 +1,4 @@
|
||||
- cache
|
||||
- shared read-store / cache client (Redis today)
|
||||
- backend writes, frontend reads
|
||||
- apps keep the cache in sync via event handlers (projectors), not the core client
|
||||
- room for growth: CacheProvider abstraction so the read-store becomes swappable
|
||||
- client für redis
|
||||
- kopie der datenbank
|
||||
- anfragen gehen wenn möglich immer an redis, nie an datenbank
|
||||
- änderungen in datenbank ändern auch immer redis
|
||||
|
||||
4
doc/core/cache/specs.md
vendored
4
doc/core/cache/specs.md
vendored
@@ -1 +1,3 @@
|
||||
- cache.py
|
||||
- redis_client.py
|
||||
- verbindung zu redis
|
||||
- CRUD für redis
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
- config
|
||||
- read .env into Settings object
|
||||
- liest die env
|
||||
|
||||
@@ -1 +1 @@
|
||||
- config.py
|
||||
- config.py - sicherheitskritische daten einlesen
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
- db
|
||||
- base setup for ORM
|
||||
- use SQLAlchemy
|
||||
- provide get_db() dependency
|
||||
- verbindung zur datenbank herstellen
|
||||
- session aufbauen
|
||||
- Base definieren
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
- db.py
|
||||
- verwendet SQLAlchemy
|
||||
- ORM
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
- di
|
||||
- global register for services
|
||||
- no direct service import between apps
|
||||
- services registrieren
|
||||
- services abrufen
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
- events
|
||||
- apps can react on events
|
||||
- apps can emit events
|
||||
- events persist in db (audit/replay)
|
||||
- allow wildcard subscribe (e.g. product.*)
|
||||
@@ -1 +0,0 @@
|
||||
- events.py
|
||||
1
doc/core/features.md
Normal file
1
doc/core/features.md
Normal file
@@ -0,0 +1 @@
|
||||
- setup für den shop
|
||||
@@ -1,6 +1,3 @@
|
||||
- loader
|
||||
- load apps as python module
|
||||
- discover apps/*/manifest.yaml
|
||||
- order by app dependency (topological sort), circles not allowed
|
||||
- check for conflicts
|
||||
- mount each app router under /api/<app>
|
||||
- apps finden
|
||||
- reihenfolge nach abhängigkeit anpassen
|
||||
- apps laden
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
- main
|
||||
- entrypoint for backend
|
||||
- build fastAPI
|
||||
- run loader on lifespan startup
|
||||
- expose /health and core settings routes
|
||||
- einstiegspunkt
|
||||
- fastAPI bauen
|
||||
- loader aufrufen
|
||||
|
||||
@@ -1 +1 @@
|
||||
- main.py
|
||||
- event.py
|
||||
|
||||
7
doc/core/specs.md
Normal file
7
doc/core/specs.md
Normal file
@@ -0,0 +1,7 @@
|
||||
- main — anwendung starten
|
||||
- loader — apps laden
|
||||
- config — liest zugänge aus env
|
||||
- di — direkte apps kommunikation
|
||||
- events — indirekte apps kommunikation
|
||||
- db — datenbank kommunikation
|
||||
- cache — redis kommunikation
|
||||
3
doc/systems/event/features.md
Normal file
3
doc/systems/event/features.md
Normal file
@@ -0,0 +1,3 @@
|
||||
- custom events aus den apps sammeln
|
||||
- events persistieren
|
||||
- helper methoden für events
|
||||
1
doc/systems/event/specs.md
Normal file
1
doc/systems/event/specs.md
Normal file
@@ -0,0 +1 @@
|
||||
- event.py
|
||||
2
doc/systems/features.md
Normal file
2
doc/systems/features.md
Normal file
@@ -0,0 +1,2 @@
|
||||
- basis für apps
|
||||
- sammelt logik der apps und führt sie aus
|
||||
11
doc/systems/specs.md
Normal file
11
doc/systems/specs.md
Normal file
@@ -0,0 +1,11 @@
|
||||
- controller - routes und aktionen
|
||||
- model - datenbank tabellen
|
||||
- migration — migrationen
|
||||
- event - eigene events
|
||||
- subscriber - listener
|
||||
- setting — shop konfigurationen
|
||||
- authentication — zugriff
|
||||
- authorization — rechte
|
||||
- middleware — request und response filter
|
||||
- seed — faker daten
|
||||
- i18n — übersetzungen
|
||||
1
doc/systems/subscriber/features.md
Normal file
1
doc/systems/subscriber/features.md
Normal file
@@ -0,0 +1 @@
|
||||
- subscriber registrieren
|
||||
1
doc/systems/subscriber/specs.md
Normal file
1
doc/systems/subscriber/specs.md
Normal file
@@ -0,0 +1 @@
|
||||
- subscriber.py
|
||||
Reference in New Issue
Block a user