forked from Gustavo/FrontFocusAgenda
134 lines
3.3 KiB
Markdown
134 lines
3.3 KiB
Markdown
# 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.
|