Skip to content

Repositório de código do projeto do curso de boas práticas com Python

Notifications You must be signed in to change notification settings

alura-cursos/4144-boas-praticas-python-curso01

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

API de Recomendação de Produtos

Este projeto é uma API criada com FastAPI para recomendação de produtos baseada no histórico de compras de usuários e preferências como categorias e tags.

Funcionalidades

  • Criação de usuários: Cadastro de novos usuários.
  • Cadastro de produtos: Cadastro de produtos com nome, categoria e tags.
  • Histórico de compras: Adicionar produtos ao histórico de compras de um usuário.
  • Recomendações de produtos: Recomendação de produtos com base no histórico de compras e preferências do usuário.

Tecnologias Utilizadas

  • Python 3.9+
  • FastAPI
  • Pydantic
  • Uvicorn (para rodar o servidor)
  • Pytest (para testes automatizados)

Instalação e Configuração

  1. Clone o repositório:

    git clone https://github.com/uranolais/boas-praticas-python-curso01.git
    cd recomendacao-produtos
  2. Crie um ambiente virtual:

    python -m venv venv
  3. Ative o ambiente virtual:

    • No Windows:
      venv\Scripts\activate
    • No macOS/Linux:
      source venv/bin/activate
  4. Instale as dependências:

    pip install -r requirements.txt
  5. Execute o servidor:

    uvicorn app.main:app --reload
  6. Acesse a documentação interativa da API: Abra o navegador e acesse http://127.0.0.1:8000/docs para visualizar e testar as rotas da API.

Estrutura do Projeto

.
├── app
│   ├── main.py              # Arquivo principal que inicia o FastAPI
│   ├── models               # Modelos Pydantic usados pela API
│   │   ├── models_produtos.py
│   │   └── models_usuarios.py
│   ├── routers              # Arquivos contendo os roteadores de usuários e produtos
│   │   ├── routers_produtos.py
│   │   └── routers_usuarios.py
├── tests
│   └── test_api.py          # Testes para a API
├── venv                     # Ambiente virtual
├── README.md                # Instruções sobre o projeto
└── requirements.txt         # Dependências do projeto

Exemplos de Uso

Criar um usuário:

  • POST /usuarios/
    {
      "nome": "Usuário Teste"
    }

Criar um produto:

  • POST /produtos/
    {
      "nome": "Produto Teste",
      "categoria": "Eletrônicos",
      "tags": ["tecnologia", "novo"]
    }

Adicionar histórico de compras:

  • POST /historico_compras/{usuario_id}
    {
      "produtos_ids": [1, 2]
    }

Recomendação de produtos:

  • POST /recomendacoes/{usuario_id}
    {
      "categorias": ["Eletrônicos"],
      "tags": ["novo"]
    }

Rodar os Testes

Para rodar os testes unitários:

pytest tests/

Contribuições

Contribuições são bem-vindas! Sinta-se à vontade para abrir um pull request ou relatar um problema.

About

Repositório de código do projeto do curso de boas práticas com Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%