Skip to content

marcellhenrique/chat-project

Repository files navigation

Marcell Chat Project

Back-end Django para integração de canais (Telegram, Mock) com chatbots e atendentes humanos.

Para mais informações, leia as documentações que se encontram na pasta docs.

Sumário

  • Requisitos
  • Configuração do ambiente
      1. Clonar e instalar dependências (Poetry)
      1. Variáveis de ambiente (.env)
      1. Ativar a venv
      1. Subir serviços de apoio (Docker Compose)
      1. Migrar banco de dados
  • Como rodar
    • Servidor Django
    • Celery Worker e Beat
    • Testes
    • Pre-commit
  • Comandos Make
  • Endpoints úteis
  • Dicas de desenvolvimento

Requisitos

  • Python 3.11
  • Poetry (2.1.x)
  • Docker e Docker Compose (para Postgres/Redis locais)

Configuração do ambiente

1) Clonar e instalar dependências (Poetry)

# Clonar
git clone git@github.com:marcellhenrique/chat-project.git
cd marcell-chat-project

# Instalar dependências
poetry install

2) Variáveis de ambiente (.env)

Crie um arquivo .env na raiz com o conteúdo do arquivo .env.example

3) Ativar a venv

No terminal digite:

poetry env activate

4) Subir serviços de apoio (Docker Compose)

O projeto inclui docker-compose.yml com Postgres e Redis. Para subir:

make dc_up      # ou: docker-compose up -d

Para parar:

make dc_down    # ou: docker-compose down

5) Migrar banco de dados

make migrations
make migrate

Como rodar

Servidor Django

make run           # poetry run python src/manage.py runserver
# Acesse: http://127.0.0.1:8000/

Celery Worker e Beat

make worker
make beat

Testes

make test

Pre-commit

make pre_commit

Comandos Make

  • make run: inicia o servidor Django (dev)
  • make test: executa a suíte de testes
  • make pre_commit: roda hooks de qualidade de código
  • make migrations: cria migrações
  • make migrate: aplica migrações
  • make worker: inicia Celery worker
  • make beat: inicia Celery beat
  • make dc_up: sobe Postgres/Redis
  • make dc_down: derruba Postgres/Redis
  • make shell: shell do Django

Endpoints úteis

  • Admin: /admin/
  • JWT (se habilitado na sua instalação):
    • Obter token: /api/token/
    • Refresh: /api/token/refresh/
  • Schema (OpenAPI):
    • YAML: /api/schema/
    • Swagger UI: /api/schema/swagger-ui/
    • Redoc: /api/schema/redoc/

Dicas de desenvolvimento

  • Mensageria: endpoints de webhook e envio ficam em channels/urls.py.
  • Mensagens/FAQs: viewsets somente leitura e CRUD em messaging/views.py.
  • Cache: as listagens usam cache "lazy" com invalidação por versão de prefixo.
  • Ambiente: config/settings.py lê variáveis do .env via python-dotenv.

About

weni by VTEX back end test

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors