Resumo da Arquitetura - ES2-UFPI/EsqueceramAI GitHub Wiki

8. Resumo da Arquitetura

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               CLIENTE                    β”‚
β”‚       HTML + CSS + JavaScript            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β”‚
                HTTPS / REST
             JSON ou multipart
                     β”‚
                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            BACKEND FLASK                 β”‚
β”‚                                          β”‚
β”‚ Controllers β†’ Services β†’ Repositories   β”‚
β”‚                                          β”‚
β”‚ UsuΓ‘rios | Itens | Busca | Match         β”‚
β”‚ NotificaΓ§Γ΅es | Postos | Recompensas      β”‚
β”‚ RecuperaΓ§Γ£o                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                β”‚              β”‚
                β–Ό              β–Ό
       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚   PostgreSQL   β”‚   β”‚      Firebase      β”‚
       β”‚ Dados do       β”‚   β”‚ Storage + FCM      β”‚
       β”‚ sistema        β”‚   β”‚ Fotos + NotificaΓ§Γ΅esβ”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

A arquitetura combina Arquitetura em Camadas, backend monolΓ­tico modular, comunicaΓ§Γ£o REST com JSON ou multipart/form-data para uploads, PostgreSQL, Firebase Storage e Firebase Cloud Messaging.

Os padrΓ΅es Abstract Factory e Observer sΓ£o aplicados em pontos especΓ­ficos em que contribuem diretamente para a organizaΓ§Γ£o do sistema.

A soluΓ§Γ£o foi dimensionada para o escopo acadΓͺmico do projeto, priorizando simplicidade de implementaΓ§Γ£o, separaΓ§Γ£o de responsabilidades, baixo acoplamento e possibilidade de evoluΓ§Γ£o futura.