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.yamlno 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.yamlno 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/saveestá desativado, pois só existe um único usuário(o administrador).
- Os endpoints /files/e/files/$idsã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.