À propos du projet
Reload Airsoft est une application web et mobile conçue pour rassembler les passionnés d'airsoft en France et, à terme, à l'international. Ce projet a pour but de faciliter la connexion entre les joueurs et les événements d'airsoft, en offrant une plateforme conviviale pour découvrir, s'inscrire et participer à divers événements.
Objectifs principaux
👥Connecter les joueurs
Permettre aux utilisateurs de se rencontrer et de s'inscrire à des événements d'airsoft à proximité.
📊Tableau de bord pour organisateurs
Offrir aux organisateurs une interface pour créer et gérer leurs événements, ainsi que pour suivre les inscriptions.
📅Calendrier interactif
Proposer un calendrier où les utilisateurs peuvent visualiser les événements à venir et s'inscrire facilement.
🔐Gestion des rôles
Intégrer des rôles tels qu'administrateur, joueur et organisateur pour différencier les fonctionnalités accessibles selon le type d'utilisateur.
Architecture technique
Reload-Airsoft est une plateforme backend complète développée avec une architecture microservices. Le projet vise à créer un écosystème scalable et maintenable pour la gestion d'événements airsoft, d'une communauté active, et d'un système de monétisation.
L'architecture modulaire permet une séparation claire des responsabilités, une communication efficace via API Gateway, et une préparation à la monétisation et à l'analytics. Chaque service est indépendant, déployable séparément, et communique via REST et gRPC.
📋Contexte métier
Le projet est en phase de construction. Certains services sont encore au stade de conception afin de garantir une architecture cohérente et scalable. Cette approche permet de valider l'architecture globale avant d'implémenter les services de monétisation et d'analytics.
Architecture globale
Client (Web / Mobile)
API Gateway
Point d'entrée unique
User Service
Event Service
Blog Service
Payment Service
Prévu
Analytics Service
Prévu
Caractéristiques de l'architecture :
- API Gateway : Point d'entrée unique pour tous les services
- Services indépendants : Déployables séparément
- Communication : REST (actuel) et gRPC (pour performance)
- Scalabilité : Chaque service peut être mis à l'échelle indépendamment
- Séparation des responsabilités : Chaque service a un domaine métier clair
Services Microservices
🧩 API Gateway
🚧 En coursPoint d'entrée unique pour tous les services. Gère le routage, la sécurité, le rate limiting et centralise les appels API. Documentation Swagger/OpenAPI, monitoring Prometheus et tracing OpenTelemetry.
Technologies :
🧩 User Service
🚧 En coursGestion de l'authentification, des profils utilisateurs, rôles et permissions. Service central pour la gestion des utilisateurs. Architecture hexagonale avec gRPC, JWT et Redis pour la scalabilité.
Technologies :
🧩 Event Service
🚧 En coursGestion complète des événements airsoft : création, modification, inscription aux événements, géolocalisation. Architecture avec PostgreSQL, Redis pour le cache et OpenTelemetry pour l'observabilité.
Technologies :
🧩 Blog Service
🚧 En coursGestion des articles et actualités, système de commentaires, modération de contenu. Utilise MongoDB pour la flexibilité du schéma et JWT pour l'authentification.
Technologies :
🧩 Payment Service
📋 PrévuGestion des paiements, abonnements, historique de transactions. Service volontairement non démarré - phase de conception. Architecture prévue avec GORM, Redis et OpenTelemetry.
Technologies :
🧩 Analytics Service
📋 PrévuStatistiques d'utilisation, tracking d'événements, aide à la prise de décision. Service prévu pour la phase de monitoring avec Redis pour le cache et OpenTelemetry pour l'observabilité.
Technologies :
Roadmap
Phase 1 : Fondations
API Gateway + User Service + Event Service - Authentification et gestion des événements
Phase 2 : Contenu
Blog Service - Articles, actualités et système de commentaires
Phase 3 : Monétisation
Payment Service - Paiements, abonnements et historique de transactions
Phase 4 : Analytics & Monitoring
Analytics Service - Statistiques, tracking et monitoring avancé
Technologies & Stack
Frontend
- ✓React 18.3.1 + TypeScript 4.9.5
- ✓Tailwind CSS 3.4.7
- ✓React Router 6.26+
- ✓Leaflet (Cartographie interactive)
- ✓Axios (HTTP Client)
Backend
- ✓Golang 1.23+ (Tous les services backend)
- ✓Gin Framework (API Gateway)
- ✓gRPC pour communication inter-services
- ✓REST API via API Gateway
- ✓Protocol Buffers (protobuf)
Base de données & Cache
- ✓PostgreSQL 18.0 (User Service, Event Service)
- ✓MongoDB 7.0 (Blog Service)
- ✓Redis (Cache et sessions - tous les services)
- ✓GORM (ORM pour PostgreSQL)
DevOps & Infrastructure
- ✓Docker (Containerisation de tous les services)
- ✓Docker Compose (Orchestration locale)
- ✓Kubernetes (Orchestration production)
- ✓CI/CD avec GitHub Actions
- ✓Gosec (Analyse de sécurité statique)
Observabilité & Monitoring
- ✓OpenTelemetry (Tracing distribué)
- ✓Prometheus (Collecte de métriques)
- ✓Grafana (Dashboards)
- ✓Swagger/OpenAPI (Documentation API)
Sécurité & Authentification
- ✓JWT (golang-jwt/jwt/v5)
- ✓bcrypt (Hachage de mots de passe)
- ✓Rate Limiting (API Gateway)
- ✓Gosec (Analyse de sécurité)
🔒Code source
Les dépôts GitHub sont actuellement privés pour protéger le code source. Le code source est disponible sur demande pour les recruteurs, clients ou collaborateurs intéressés. Cette approche permet de préserver la propriété intellectuelle tout en permettant une évaluation technique du projet.