Real-time spaceship monitoring system — Built with Spring Boot, Kafka, PostgreSQL, and React.
A.T.L.A.S. é um sistema inteligente de monitoramento em tempo real para operações espaciais. Desenvolvido como projeto principal do curso de Introdução à Engenharia de Software na Universidade de Aveiro, o sistema foi projetado para simular o acompanhamento de métricas críticas de uma espaçonave, emitir alertas sobre anomalias e apresentar dados de forma clara e acessível.
Este projeto destaca-se pela arquitetura robusta, uso de tecnologias modernas e ênfase em boas práticas de engenharia de software.
- Monitoramento em tempo real: posição, velocidade, trajetória e recursos internos da nave (energia, oxigênio, etc).
- Alertas inteligentes: notificações visuais e sonoras para situações críticas (temperatura, oxigênio, falhas de comunicação, etc).
- Relatórios analíticos: geração de resumos de missão e gráficos históricos.
- Interface amigável: painel com dados dinâmicos e responsivos via WebSockets.
- Personas realistas: sistema orientado a diferentes perfis de usuário (CEO, engenheira de bordo, médico, diretora de voo).
| Camada | Tecnologias |
|---|---|
| Backend | Java, Spring Boot, WebSockets |
| Frontend | React, HTML, CSS |
| Mensageria | Apache Kafka |
| Banco de Dados | PostgreSQL |
| Infra | NGINX (proxy reverso) |
A arquitetura modular garante escalabilidade e manutenção simplificada:
- Data Generator: simula sensores da nave e envia dados para o Kafka.
- Kafka: gerencia o fluxo assíncrono de dados de telemetria.
- Backend (Spring Boot): processa dados, emite alertas, e disponibiliza APIs REST.
- Frontend (React): exibe métricas, alertas e gráficos em tempo real.
- PostgreSQL: armazena dados persistentes da missão.
Requisitos: Docker, Java 17+, Node.js 16+
git clone https://github.com/matnrocha/atlas_project.git
cd atlas_project/cp .env_example .envcp .env frontend/atlas/docker compose downdocker compose up --buildExistem 5 astronautas cadastrados que podem ser utilizados para login. Além disso, você também pode criar usuários com roles de CEO ou Flight Manager durante o cadastro. A autenticação é baseada em roles (funções), portanto, o sistema oferece diferentes acessos conforme o tipo de usuário.
Você pode utilizar qualquer uma das credenciais abaixo para realizar login como astronauta:
| Nome | Senha | |
|---|---|---|
| Saylor Twift | [email protected] | saylor.twift |
| Sus Ana | [email protected] | sus.ana |
| Juan Direction | [email protected] | juan.direction |
| Lua Dipa | [email protected] | lua.dipa |
| João Cuco | [email protected] | joao.cuco |
Esses perfis possuem acesso a funcionalidades exclusivas que não estão disponíveis para astronautas, como:
- Gestão de missões
- Administração de tripulantes
- Visualização de dashboards administrativos