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
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