São 4 semanas de desafios propostos pela plataforma de ensino Alura com o objetivo de praticar construindo um projeto. Toda semana são disponibilizados desafios e o aluno deve usar o material de apoio fornecido a cada semana para resolver o desafio proposto.
Essa edição tem como objetivo construir uma api de controle financeiro.
1ª semana - CRUD de despesas e receitas e testes de api utilizando Postman
2ª semana - Categorização de despesas, filtro de despesas/receitas por descrição, listagem de despesas/receitas por mês, resumo do mês e testes automatizados
3ª e 4ª semana - Deploy e autenticação
Symfony 5.4, Doctrine e PHP 7.3.5.
Rota | Método | Descrição | BODY PARAMS | QUERY PARAMS |
---|---|---|---|---|
/login | GET | Retorna token obrigatório em todas as outras requisições | { |
- |
O login e senha padrão são "usuario" e "teste". A autenticação é feita passando um Bearer Token como Authorization.
Rota | Método | Descrição | BODY PARAMS | QUERY PARAMS |
---|---|---|---|---|
/receitas | POST | Cadastra uma receita | { |
- |
/receitas | GET | Retorna todas as receitas | - | descricao (opcional) |
/receitas/{ano}/{mes} | GET | Retorna todas as receitas do mês | - | - |
/receitas/{id} | GET | Retorna receita por id | - | - |
/receitas/{id} | PUT | Atualiza receita por id | { |
- |
/receitas/{id} | DELETE | Remove receita por id | - | - |
Rota | Método | Descrição | BODY PARAMS | QUERY PARAMS |
---|---|---|---|---|
/despesas | POST | Cadastra uma despesa | {O campo id_categoria é opcional (ver ids correspondentes na tabela Categoria) |
- |
/despesas | GET | Retorna todas as despesas | - | descricao (opcional) |
/despesas/{ano}/{mes} | GET | Retorna todas as despesas do mês | - | - |
/despesas/{id} | GET | Retorna despesas por id | - | - |
/despesas/{id} | PUT | Atualiza despesa por id | {O campo id_categoria é opciona (ver ids correspondentes na tabela Categoria) |
- |
/despesas/{id} | DELETE | Remove despesa por id | - | - |
Rota | Método | Descrição | BODY PARAMS | QUERY PARAMS |
---|---|---|---|---|
/resumo/{ano}/{mes} | GET | Retorna resumo do mês | - | - |
Nome | Id |
---|---|
Alimentação | 1 |
Saúde | 2 |
Moradia | 4 |
Transporte | 5 |
Educação | 6 |
Lazer | 7 |
Imprevistos | 8 |
Outras | 3 |
composer install
php bin\console doctrine:database:create
php bin\console doctrine:migrations:migrate
php -S localhost:8080 -t public
composer create-project symfony/skeleton:"^5.4" challenge-alura-back-end-4
composer require annotation
composer require symfony/orm-pack
php bin\console doctrine:database:create
Antes é preciso alterar as configurações no arquivo .ENV
composer require maker
php bin\console list make
php bin\console make:entity
php bin/console make:migration
php bin\console doctrine:migrations:migrate
php bin\console make:controller