Alura Challenge Back-End 2
- Django - O propósito do Django está no desenvolvimento de aplicações web e sites.
- Django Rest Framework - Desenvolvimento de web API'S de forma simples e ágil.
- GET - Retornando Informações
- POST - Inserir Informações
- PUT - Atualizar Informações
- DELETE - Deletar Informações
- /registro [POST]
{
"username": "Usuário",
"password": "Senha",
"password2": "Senha",
"email": "E-mail",
"first_name": "Nome",
"last_name": "Sobrenome"
}
Exemplo de Sucesso
{
"username": "Usuário",
"email": "E-mail",
"first_name": "Primeiro Nome",
"last_name": "Último Nome"
}
Exemplo de Erro
{
"password": [
"Senhas não conferem"
]
}
- Basic Auth
- username
- password
- /receitas [GET] Lista as Receitas
- /receitas/ [POST] Adiciona uma Receita nova
- /receitas/{pk}/ [PUT/PATCH/DELETE] Edita / Deleta uma Receita
- /receitas/{ano}/{mês} [GET] Todas as Receitas por Ano e Mês
- /receitas/?descricao= [GET] Todas as Receitas por Descrição
Exemplo de Retorno Positivo:
[
{
"id": "ID da Receita",
"descricao": "Descrição da Receita",
"valor": "Valor da Receita (Ex: 1000)",
"data": "Data da Receita (Ex: 25-12-2000)"
},
]
Exemplo de Retorno Negativo:
{
"detail": "As credenciais de autenticação não foram fornecidas."
}
{
"descricao": [
"Este campo é obrigatório."
],
"valor": [
"Este campo é obrigatório."
],
"data": [
"Este campo é obrigatório."
]
}
- Basic Auth
- username
- password
- /despesas [GET] Lista as Despesas
- /despesas/ [POST] Adiciona uma Despesa nova
- /despesas/{pk}/ [PUT/PATCH/DELETE] Edita / Deleta uma Despesa
- /despesas/{ano}/{mês} [GET] Todas as Despesas por Ano e Mês
- /despesas/?descricao= [GET] Todas as Despesas por Descrição
[
{
"id": "ID da Despesa",
"descricao": "Descrição da Despesa",
"categoria": "Categoria da Despesa",
"valor": "Valor da Despesa (Ex: 1000)",
"data": "Data da Despesa (Ex: 25-12-2000)"
}
]
Exemplo de Retorno Negativo:
{
"detail": "As credenciais de autenticação não foram fornecidas."
}
{
"descricao": [
"Este campo é obrigatório."
],
"valor": [
"Este campo é obrigatório."
],
"data": [
"Este campo é obrigatório."
]
}
Resumo do Saldo Total com Receita por Mês, Despesa por Mês, Despesas de Categoria por Mês, e Saldo Final
- Basic Auth
- username
- password
- /resumo/{ano}/{mês} [GET]
{
"Receita/Mês": "Somatória das Receitas por Mês",
"Despesa/Mês": "Somatória das Despesas por Mês",
"Categoria/Mês": [
{
"categoria": "Nome da Categoria",
"valor": "Somatória da Categoria por Mês"
}
],
"Saldo Final/Mês": "Subtração de Receitas por Mês com Despesas por Mês"
}
Exemplo de Retorno Negativo:
{
"detail": "As credenciais de autenticação não foram fornecidas."
}
pip install -r requirements.txt
- Crie um arquivo `.env` na mesma pasta onde está o arquivo `migrate.py`.
- No seu terminal com o ambiente virtual ativado, execute o comando `python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'` para gerar uma chave secreta.
- Substitua a chave secreta no arquivo `.env` com a chave gerada na variável `SECRET_KEY`.
- Substitua o endereço do banco de dados no arquivo `.env` com o endereço do banco de dados que você deseja utilizar na variável `DATABASE_URL`.
- Execute o comando `python manage.py migrate` para criar as tabelas do banco de dados.
python manage.py runserver
O servidor está rodando, visite http://127.0.0.1:8000/ no seu navegador de internet