init backend and dev docs
This commit is contained in:
28
doc_dev/01_analyse.md
Normal file
28
doc_dev/01_analyse.md
Normal 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
23
doc_dev/02_brainstorm.md
Normal 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
23
doc_dev/03_plan_dev.md
Normal 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.
|
||||
15
doc_dev/04_etape1_setup.md
Normal file
15
doc_dev/04_etape1_setup.md
Normal 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.
|
||||
Reference in New Issue
Block a user