docs: describe project structure
This commit is contained in:
1 parent
cc5a567335
commit
caea56697c
5 files changed
+48
No files matched your search
@@ -0,0 +1,20 @@
|
|||||||
|
# mapy-mg
|
||||||
|
|
||||||
|
Web-App für Foto-Uploads, EXIF-Positionen und Kartenanzeige.
|
||||||
|
|
||||||
|
## Zielbild
|
||||||
|
|
||||||
|
- Fotos per Webinterface hochladen
|
||||||
|
- GPS-Daten aus EXIF lesen
|
||||||
|
- Bilder als Marker auf OpenStreetMap anzeigen
|
||||||
|
- zeitbasierte Route grob verbinden
|
||||||
|
- Bilder beim Marker-Klick im Vollbild anzeigen
|
||||||
|
|
||||||
|
## Struktur
|
||||||
|
|
||||||
|
- `src/index.ts` Einstiegspunkt
|
||||||
|
- `src/server/` HTTP-Schicht
|
||||||
|
- `src/shared/` gemeinsame Hilfsfunktionen
|
||||||
|
- `src/domain/` fachliche Modelle
|
||||||
|
- `src/features/` Anwendungslogik nach Bereichen
|
||||||
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
export interface Photo {
|
||||||
|
id: string;
|
||||||
|
fileName: string;
|
||||||
|
capturedAt: string | null;
|
||||||
|
latitude: number | null;
|
||||||
|
longitude: number | null;
|
||||||
|
thumbnailUrl: string | null;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
export interface RoutePoint {
|
||||||
|
photoId: string;
|
||||||
|
capturedAt: string;
|
||||||
|
latitude: number;
|
||||||
|
longitude: number;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import type { RoutePoint } from "../../domain/route.js";
|
||||||
|
|
||||||
|
export function buildRoute(points: RoutePoint[]): RoutePoint[] {
|
||||||
|
return points.slice().sort((a, b) => a.capturedAt.localeCompare(b.capturedAt));
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import type { Photo } from "../../domain/photo.js";
|
||||||
|
|
||||||
|
export function listPhotos(): Photo[] {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
Reference in new issue
Block a user