Monorepo du projet Matos service B2B de location de matériel de BTP.
  • Java 88.3%
  • PLpgSQL 3.5%
  • CSS 3.1%
  • TypeScript 2.4%
  • JavaScript 1.1%
  • Other 1.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-03-16 18:40:55 +01:00
backend feat: ajout service product 2026-03-16 18:40:55 +01:00
docs feat: ajout service product 2026-03-16 18:40:55 +01:00
infra/java feat: maj docker, ajout dockerfile pour java et separation compose prod et compose dev 2026-03-09 15:04:55 +01:00
web feat: initialisation et template du frontend 2026-02-03 17:11:14 +01:00
.env.exemple in_progress 2026-03-09 22:07:26 +01:00
.gitattributes feat: (je respecte les conventions watofok) ajout des .git pour le backend 2026-02-02 15:11:14 +01:00
.gitignore docs: version finale du .gitignore 2026-02-09 16:29:02 +01:00
docker-compose.dev.yml feat: maj docker, ajout dockerfile pour java et separation compose prod et compose dev 2026-03-09 15:04:55 +01:00
docker-compose.yml feat: maj docker, ajout dockerfile pour java et separation compose prod et compose dev 2026-03-09 15:04:55 +01:00
LICENSE docs and feat: maj docs et ajout backend projet avec intellij et spring boot 2026-02-02 15:56:31 +01:00
README.md fix: java 17 -> java 21 2026-03-07 15:52:30 +01:00
TODO.md fix: figma en maj... 2026-03-04 19:54:29 +01:00

Matos©

Solution web de location de matériel à destination des professionnels du bâtiment.
Matos© vise à simplifier la gestion, la réservation et le suivi du matériel de chantier via une plateforme moderne, sécurisée et évolutive.

🎯 Objectifs du projet

  • Centraliser la gestion du matériel (disponibilité, état, historique)
  • Faciliter la location pour les professionnels du BTP
  • Offrir une expérience fluide côté client et côté gestionnaire
  • Construire une base technique solide et évolutive

🧭 Navigation

📌 Projet

Document Description
Présentation générale Vision, périmètre fonctionnel et objectifs à long terme
Vocabulaire Glossaire métier et termes techniques
Roadmap Fonctionnalités planifiées et priorisation

💻 Développement

Document Description
Conventions de code Règles de nommage, structure, bonnes pratiques
Guide d'installation Prérequis et installation locale

Principes architecturaux :

  • Architecture orientée sur la séparation des responsabilités
  • Respect des principes SOLID, Clean Code et Clean Architecture
  • API documentée et versionnée

🎨 Design

Document Description
Maquettes Figma Wireframes, design system et parcours utilisateurs

Approche design :

  • Mobile-first : conception adaptée aux usages terrain
  • Efficacité : lisibilité et rapidité d'action

🗂️ Structure du dépôt

matos/
├── backend/     # API métier (Java + Spring Boot)
├── web/         # Client web (React + TypeScript)
├── mobile/      # Application mobile (futur)
├── infra/       # Déploiement, CI/CD, Docker
└── docs/        # Documentation technique et projet

🧩 Stack générale

┌──────────────────────────────────────────┐
│ FRONTEND (navigateur)                    │
│ React 18 + Tailwind CSS                  │
│ - Composants réutilisables               │
│ - Gestion état (useState, Context)       │
│ - Pages: Home, Equipment, Rentals        │
└───────────────────────┬──────────────────┘
                        │ HTTP REST API
                        ↓
┌──────────────────────────────────────────┐
│ BACKEND (serveur)                        │
│ Java + Spring Boot                       │
│ - Controllers & Routes API               │
│ - Services (logique métier)              │
│ - Repositories (accès BD)                │
│ - Sécurité & Validations                 │
└───────────────────────┬──────────────────┘
                        │ SQL Queries
                        ↓
┌──────────────────────────────────────────┐
│ BASE DE DONNÉES                          │
│ PostgreSQL 15+                           │
│ - Tables: users, equipment, rentals      │
│ - Contraintes, index, relations          │
│ - Transactions ACID                      │
└──────────────────────────────────────────┘

⚙️ Stack technique

🎨 Frontend

Technologie Version/Détail
Framework React 18+ (TypeScript)
Styling Tailwind CSS
Build Vite
HTTP Client Fetch API / Axios
Qualité ESLint, Prettier

Backend

Technologie Version/Détail
Runtime Java 21+
Framework Spring Boot 3.x
Build Gradle
API REST (GraphQL envisagé Phase 2+)
Sécurité Spring Security, JWT (à finaliser)

🗄️ Base de données

Technologie Version/Détail
SGBD PostgreSQL 15+
ORM JPA/Hibernate
Migrations Flyway
Validation À définir

🚀 Déploiement & DevOps

Technologie Usage
Containerisation Docker
Orchestration locale Docker Compose
CI/CD GitLab CI
Hébergement Homelab → Heroku → OVH (évolutif)

🚀 Stratégie de déploiement

La stratégie de déploiement évoluera progressivement selon le budget et l'infrastructure :

Environnement Solution Objectif
Développement Docker Compose local Développement et tests locaux
Staging Heroku Tests avant mise en production
Production OVH / AWS (à définir) Environnement de production

🔗 Pour aller plus loin

💬 Social

Spring Boot & Java

⚛️ React & Frontend

🐘 PostgreSQL

🧱 Git & DevOps


👥 Équipe

Projet développé par une équipe orientée qualité logicielle, produit et évolutivité.
Les rôles, responsabilités et règles de contribution sont détaillés dans la documentation du projet.

Membre Formation
PENCHAUD Gatien L2 Informatique
GASSIEN Corentin Futur Master IHM/HCI

📄 License

LICENSE