Spécifications techniques de l'infrastructure SudoSumo
Sudosumo diagramme d'architecture
1. Frontend
Explorer le repo Frontend- FrameworkNext.js (basé sur React.js avec TypeScript).
- ConceptionFigma.
- StyleTailwindCSS.
- Stratégie de renduRendu côté serveur (SSR) pour une meilleure sécurité, un cache efficace et une optimisation SEO.
- AuthentificationOAuth2 via Auth.js avec Google comme fournisseur.
- DéploiementDéployé via un fournisseur serverless Netlify pour une mise à l'échelle automatique et une efficacité des coûts.
- SécuritéConfiguration TLS pour une communication sécurisée entre le frontend et le backend.
2. Backend
Explorer le repo Backend- TechnologieJava Spring Boot (API REST).
- Architecture
- Domain-Driven Design (DDD) pour une meilleure modularité, séparation des préoccupations et facilité de maintenance.
- Construit avec Jakarta EE pour une scalabilité et une robustesse de niveau entreprise.
- SécuritéOAuth2 avec Google comme fournisseur d'identité ; utilise des tokens JWT pour une gestion sécurisée des sessions.
- Interaction avec la base de donnéesAPI REST pour la communication frontend ; tâches cron additionnelles planifiées pour les mises à jour périodiques de la base de données.
- HébergementHébergé sur une instance AWS EC2 utilisant un conteneur Docker pour ajouter de l'isolation et de la cohérence entre les environnements, assurant des ressources dédiées pour les opérations backend.
- Équilibreur de chargeAWS Elastic Load Balancer (ELB) pour distribuer le trafic entre plusieurs instances backend pour une haute disponibilité, servant d'interface frontale vers internet.
- Configuration TLSPour une communication HTTP sécurisée entre le frontend et le backend.
- Mécanisme de mise à jour des donnéesTâches cron planifiées pour réinitialiser la vie de chaque utilisateur à 5 à minuit, assurant des mises à jour quotidiennes de la base de données.
3. Base de données
- Technologie de base de donnéesPostgreSQL.
- GestionHébergé sur une instance AWS RDS.
4. Sécurité
- SSL/TLSCertificats SSL/TLS pour le chiffrement de bout en bout.
- Groupe de sécurité AWSAssure qu'aucune instance n'est inutilement exposée à internet en configurant correctement les règles du groupe de sécurité.