Loading repository data…
Loading repository data…
israelferreira / repository
Back-end do projeto Algamoney, desenvolvido com Spring Boot e Angular.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Esse repositório contém os arquivos do back-end do projeto Algamoney, construído e ensinado pela AlgaWorks no curso Fullstack Angular e Spring.O Algamoney é um software para controle e acompanhamento financeiro de receitas e despesas.
Veja também o repositório com a API do front-end.
Ele foi desenvolvido com as seguintes tecnologias:
Categorias de lançamento
Pessoas
Lançamentos financeiros
Relatórios em PDF com informações de lançamentos
Envio de e-mail automático para lembrete de lançamentos próximos da data de vencimento
Segurança
Observação: Para executar as requisições no Postman é necessário primeiro gerar um token JWT/OAuth 2. Esse token então deve ser enviado junto com as requisições feitas nas URLs. A aplicação front-end resolve todos esses detalhes sem necessidade de intervenção do usuário.
Screenshots com os passos usados no Postman:
Authorization

Headers

Body

Cadastro de uma pessoa

| URL | Método | Descrição |
|---|---|---|
http://localhost:8080/algamoney-api/oauth/token | POST | Solicita Access Token |
http://localhost:8080/algamoney-api/oauth/token | POST | Solicita Refresh Token |
http://localhost:8080/algamoney-api/tokens/revoke | DELETE | Revoga o token atual |
http://localhost:8080/algamoney-api/people/ | GET | Retorna todas as pessoas registradas no banco (com paginação) |
http://localhost:8080/algamoney-api/people/ | POST | Registra uma pessoa |
http://localhost:8080/algamoney-api/people/{id} | GET | Retorna o registro de uma pessoa baseada no ID dela |
http://localhost:8080/algamoney-api/people/{id} | DELETE | Deleta o registro de uma pessoa baseada no ID dela |
http://localhost:8080/algamoney-api/people/{id} | PUT | Atualiza o registro de uma pessoa baseado no ID dela |
http://localhost:8080/algamoney-api/people/{id}/active | PUT | Atualiza a propriedade ativo de uma pessoa baseada no ID dela, no corpo da requisição é preciso enviar um JSON com true ou false |
http://localhost:8080/algamoney-api/categories | GET | Retorna todas as categorias |
http://localhost:8080/algamoney-api/categories | POST | Registra uma categoria |
http://localhost:8080/algamoney-api/categories/{id} | GET | Retorna uma categoria baseado no ID |
http://localhost:8080/algamoney-api/journalentries | POST | Registra uma lançamento |
http://localhost:8080/algamoney-api/journalentries | GET | Retorna todos os lançamentos (com paginação) |
http://localhost:8080/algamoney-api/journalentries/{id} | GET | Retorna um lançamento baseado no ID |
http://localhost:8080/algamoney-api/journalentries/{id} | DELETE | Deleta um lançamento baseado no ID |
Edite o arquivo application.properties em algamoney-api/src/main/resources com as informações necessárias correspondentes às configurações da sua máquina (usuário/senha do banco de dados e também do provedor de email para envio automático do sistema).
O projeto foi construído com a IDE Eclipse. Para executá-lo:
docker-compose up. Ele irá criar um container chamado algamoney_mariadb contendo a imagem do banco de dados MariaDB.

docker exec -it mysql bash -l, agora execute o comando mysql -uroot -p. O usuário do MariaDB nesse caso é o root, se for outro, altere o que está depois de -u. Digite a senha e pressione ENTER. Agora é possível criar e alterar schemas.

http://localhost:8080/algamoney-api/journalentries?summary | GET | Retorna lançamentos os lançamentos resumidos (o resultado só retorna o nome da pessoa ao invés do registro completo com endereço) |
http://localhost:8080/algamoney-api/journalentries?description={searchparam}&dueDateFrom=YYYY-MM-DD&dueDateTo=YYYY-MM-DD | GET | Faz uma pesquisa nos lançamentos com os parâmetros inseridos na URL(descrição e intervalos de data de vencimento) |
http://localhost:8080/algamoney-api/journalentries/statistics/by-day | GET | Retorna estatísticas de lançamento baseado em um período de tempo |
http://localhost:8080/algamoney-api/journalentries/statistics/by-category | GET | Retorna estatísticas de lançamento baseado em categorias |
http://localhost:8080/algamoney-api/journalentries/reports/by-person?begin={YYYY-MM-DD}&end={YYYY-MM-DD} | GET | Retorna um relatório em PDF baseado no período de tempo informado na URL |
http://localhost:8080/algamoney-api/states | GET | Retorna todos os estados cadastrados no banco de dados |
http://localhost:8080/algamoney-api/cities?state={id} | GET | Retorna uma lista de cidades baseada no ID do estado passado por parâmetro |