Back end - santosascegas/sac_arquitetura GitHub Wiki
O backend do Santos às Cegas é uma API desenvolvida em cima do Spring Boot.
Tecnologias
Para o desenvolvimento desta API foi usada as seguintes tecnologias:
- Amazon Corretto 17 OpenJDK
- Maven
- Spring Boot
- MySQL
Como Iniciar
Para rodar a API será necessário algumas configurações, sendo elas:
- Será necessário a configuração de algum serviço de email. Para o desenvolvimento é recomendado o uso do MailDev.
- Após a configuração do MailDev como descrito na pagina do GitHub deles, insira o usuario e a senha configurada no arquivo
src/main/resources/application.yaml
no trechomail
.
- Após a configuração do MailDev como descrito na pagina do GitHub deles, insira o usuario e a senha configurada no arquivo
- Configure também, o servidor SQL que nesse caso é o MySQL no arquivo
src/main/resources/application.yaml
no trechospring -> datasource
.
Endpoints
Listagem de todos os pontos de acesso da API:
Endpoint | Tipo | Descrição | Acesso |
---|---|---|---|
/agenda/$id | GET | Retorna uma determinada data baseada no $id | Público |
/agenda | POST | Insere uma nova data para um trajeto | Privado |
/agenda | PUT | Atualiza um data na agenda | Privado |
/agenda/$id | DELETE | Deleta uma data na agenda | Privado |
/agenda/status | GET | Lista todas as datas disponiveis na agenda | Público |
/agenda/ | GET | Lista todas as datas na agenda | Privado |
/agendamento/ | GET | Lista todos os agendamentos | Privado |
/agendamento/$id | GET | Retorna um determinado agendamento baseado no $id | Privado |
/agendamento/novo | POST | Cria um novo agendamento | Público |
/agendamento/$id | PUT | Atualiza um agendamento existente | Privado |
/agendamento/$id | DELETE | Deleta um agendamento | Privado |
/postagem/ | POST | Insere uma nova postagem | Público |
/postagem/todos | GET | Retorna todos os posts públicos | Público |
/postagem/todos_adm | GET | Retorna todos os posts | Privado |
/postagem/$id | PUT | Atualiza um post | Privado |
/postagem/$id | DELETE | Deleta um post | Privado |
/fale-conosco/ | POST | Envia um email para a administração | Público |
/files/ | POST | Faz o upload de um arquivo | Privado |
/files/$id | GET | Retorna um arquivo baseado no $id | Privado |
/api/user/save | POST | Registra um novo usuario | Privado |
/api/token/refresh | GET | Atualiza o token de acesso do usuário | Público |
/api/users | GET | Retorna todos os usuários | Privado |
/api/user/$username | GET | Retorna um usuário específico | Privado |
- O endpoint
/api/user/save
está desativado, pois só existe um único usuário(o administrador). - Os endpoints
/files/
e/files/$id
são privados porque o usuário só envia arquivos para o servidor através do/postagem/
, e o mesmo já faz o tratamento desses arquivos.