# Focus Agenda - Agenda Digital para Estudantes CENTRO ESTADUAL DE EDUCACAO TECNOLOGICA "PAULA SOUZA" ETEC PEDRO D'ARCADIA NETO Tecnico em Desenvolvimento de Sistemas ## Autores - BORGES, Gabriel H. M. - CRUZ, Fernando M. B. da - ARAUJO, Gustavo Ferreira - OLIVEIRA, Henry E. de - HABU, Nadia Sakae ##Descricao Plataforma digital para organizacao de estudos destinada a alunos do ensino medio e tecnico. A ferramenta auxilia na gestao de rotinas academicas, enviando notificacoes sobre atividades diarias, horarios de estudo, datas de provas e outros compromissos academicos. ## Funcionalidades - Cadastro e autenticacao de usuarios - Calendario mensal, semanal e diario - Criacao e gerenciamentos de eventos - Criacao e gerenciamento de tarefas com prioridades - Gerenciamento de disciplinas - Sistema de notificacoes - Tema claro e escuro - Painel informativo com feriados nacionais ## Tecnologias ### Frontend - HTML5 - CSS3 - JavaScript ### Backend - Java 17 - Spring Boot 3.2.0 - Spring Security - JWT (JSON Web Token) - MongoDB ## Requisitos - Java 17 ou superior - Maven 3.8+ - MongoDB ## Execucao ### Build do projeto ```bash mvn clean package ``` ### Execucao com Maven ```bash mvn spring-boot:run ``` ### Execucao com JAR ```bash java -jar target/agenda-digital-estudantes-1.0.0.jar ``` ### Variaveis de ambiente | Variavel | Descricao | Valor padrao | |---|---|---| | APP_NAME | Nome da aplicacao | Focus Agenda | | SERVER_PORT | Porta do servidor | 8080 | | SPRING_PROFILES_ACTIVE | Perfil ativo | dev | | MONGO_URI | URI de conexao com MongoDB | mongodb://localhost:27017/agenda_estudantil | | CORS_ORIGINS | Origens permitidas para CORS | http://localhost:8080,http://localhost:3000 | | JWT_SECRET | Chave secreta para JWT | (chave padrao) | | JWT_EXPIRATION | Expiracao do token em milissegundos | 86400000 | ## Docker ### Build da imagem ```bash docker build -t focus-agenda . ``` ### Execucao do container ```bash docker run -d -p 8080:8080 --name focus-agenda focus-agenda ``` ### Execucao com MongoDB ```bash docker run -d -p 8080:8080 -e MONGO_URI=mongodb://host.docker.internal:27017/agenda_estudantil --name focus-agenda focus-agenda ``` ## Acesso Apos iniciar a aplicacao, acesse: - Aplicacao: http://localhost:8080 - Swagger UI: http://localhost:8080/swagger-ui.html - API Docs: http://localhost:8080/v3/api-docs ## Estrutura do Projeto ``` src/ ├── main/ │ ├── java/com/agendaestudantil/ │ │ ├── configuracao/ # Configuracoes de seguranca e MongoDB │ │ ├── controlador/ # Controladores REST │ │ ├── dto/ # Objetos de transferencia de dados │ │ ├── entidade/ # Entidades do dominio │ │ ├── excecao/ # Excecoes personalizadas e manipulador global │ │ ├── filtro/ # Filtro JWT │ │ ├── repositorio/ # Interfaces de repositorio │ │ ├── seguranca/ # Autenticacao e detalhes do usuario │ │ ├── servico/ # Regras de negocio │ │ └── utilitario/ # Utilitarios (JWT) │ └── resources/ │ ├── static/ # Frontend (HTML, CSS, JS) │ └── application*.properties ``` ## Licenca Projeto academico desenvolvido para o Curso Tecnico em Desenvolvimento de Sistemas da ETEC Pedro D'Arcadia Neto.