init backend and dev docs

This commit is contained in:
2026-01-21 21:10:45 +01:00
parent 40ebd55865
commit 19ec9f3c17
7 changed files with 127 additions and 0 deletions

28
doc_dev/01_analyse.md Normal file
View File

@@ -0,0 +1,28 @@
# Analyse - MatosBox
## Contexte
MatosBox est une application open-source self-hosted pour inventorier du materiel (electronique, informatique, outillage, cuisine). L'app vise ~5000 objets, avec simplicite, portabilite et extensibilite.
## Contraintes et consignes
- Langue : interface, messages et commentaires de code en francais. Noms des tables en francais.
- Backend : Go 1.23+, Gin, Ent, SQLite par defaut, Postgres optionnel.
- API : REST, endpoint upload multiple `/v1/objets/{id}/pieces_jointes`.
- Pieces jointes : images, PDF, Markdown.
- Schema : tables Objet, Categorie, Emplacement (noms FR), relations hierarchiques.
- Depot : gitea.maison43.duckdns.org/gilles/matosbox.git. Commit/push apres etapes clefs (token non fourni).
- Dossiers : `backend/`, `frontend/`, `data/`, `docs/`, `migrations/`.
## Fonctions coeur (MVP)
- CRUD Objets, Categories, Emplacements.
- Pieces jointes multiples par objet.
- Recherche et filtres de base.
## Risques / points d'attention
- Definition precise des schemas Ent en francais (noms et relations).
- Gestion multi-fichiers (taille, types MIME, stockage disque).
- Migration SQLite <-> Postgres.
## Livrables demandes
- Brainstorming et plan de dev.
- Fichiers intermediaires par etapes dans `doc_dev/`.
- Debut du developpement (progressif, par etapes).

23
doc_dev/02_brainstorm.md Normal file
View File

@@ -0,0 +1,23 @@
# Brainstorming - MatosBox
## Axes produit
- Inventaire polyvalent : objets, categories, emplacements, tags.
- Experiences cle : ajout rapide, upload pieces jointes, recherche simple.
- Extensibilite : champs personalises, import CSV/JSON, scan hardware.
## Idees pour le MVP
- Formulaire objet minimal : nom, quantite, categorie, emplacement, statut.
- Widget pieces jointes : multi-upload + previsualisation.
- Liste objets avec filtres rapides (statut, categorie, emplacement).
## Questions a clarifier
- Chemin exact des pieces jointes (structure de dossiers par objet ou date).
- Limites d'upload par defaut (taille/fichier, total).
- Gestion des miniatures (server-side ou front).
## Sequencage propose
1. Initialisation structure repo + config.
2. Schema Ent (Objet, Categorie, Emplacement).
3. API CRUD basique.
4. Upload pieces jointes.
5. Frontend minimum.

23
doc_dev/03_plan_dev.md Normal file
View File

@@ -0,0 +1,23 @@
# Plan de dev (court terme)
## Etape 1 - Setup et base technique
- Creer structure repo (backend/frontend/docs/data/migrations).
- Init module Go, dependances Gin.
- Point d'entree backend avec route de sante.
## Etape 2 - Schema Ent (FR)
- Tables : Objet, Categorie, Emplacement.
- Relations hierarchiques pour Categorie et Emplacement.
- Champs principaux Objet (nom, description, quantite, prix_achat, etc.).
## Etape 3 - API CRUD
- Endpoints CRUD Objets, Categories, Emplacements.
- Validation d'entree et reponses JSON coherentes.
## Etape 4 - Pieces jointes
- Endpoint POST /v1/objets/{id}/pieces_jointes (upload multiple).
- Stockage disque + enregistrement DB (PieceJointe).
## Etape 5 - Tests minimum
- Tests unitaires modeles et handlers critiques.
- Tests upload multi-fichiers.

View File

@@ -0,0 +1,15 @@
# Etape 1 - Setup initial (realise)
## Objectif
Mettre en place la structure minimale et un point d'entree backend.
## Fichiers ajoutes
- `backend/go.mod` : module Go + dependance Gin.
- `backend/cmd/app/main.go` : serveur Gin minimal + route `/healthz`.
- `doc_dev/01_analyse.md` : synthese des consignes.
- `doc_dev/02_brainstorm.md` : idees MVP et questions.
- `doc_dev/03_plan_dev.md` : plan court terme.
## Notes
- Aucune migration/Ent encore : prochaine etape.
- Token de commit non fourni, donc pas de commit/push.