O projeto job_send_recomendation é um sistema automatizado de envio de recomendações diárias para usuários através de email e WhatsApp. Este projeto faz parte da iniciativa MaisFoco.life, uma plataforma dedicada a fornecer conteúdo curado e recomendações personalizadas para seus usuários.
O principal objetivo deste sistema é enviar recomendações diárias de diferentes categorias de produtos e conteúdos, incluindo:
- Filmes e séries da Netflix
- Produtos da Amazon
- Jogos do Instant Gaming
- Livros gratuitos
- Conteúdo do Mercado Livre Play
O projeto é desenvolvido em V (vlang) e segue uma arquitetura modular com os seguintes componentes principais:
job_send_recomendation/
├── .env.template # Template para configuração de variáveis de ambiente
├── src/ # Código fonte do projeto
│ ├── amazon/ # Módulo para recomendações da Amazon
│ ├── entities/ # Definições de entidades do sistema
│ ├── errors/ # Tratamento de erros
│ ├── instant_gaming/ # Módulo para recomendações do Instant Gaming
│ ├── livros_gratuitos/# Módulo para recomendações de livros gratuitos
│ ├── main.v # Ponto de entrada da aplicação
│ ├── mercado_livre_play/ # Módulo para recomendações do Mercado Livre Play
│ ├── netflix/ # Módulo para recomendações da Netflix
│ ├── recomendation/ # Lógica central de recomendações
│ ├── repository/ # Acesso a dados
│ ├── shareds/ # Componentes compartilhados
│ └── wpapi/ # API para integração com WhatsApp
└── v.mod # Arquivo de configuração do módulo V
O projeto segue um padrão de design em camadas:
- Controllers: Gerenciam as requisições e respostas
- Services: Contêm a lógica de negócios
- Repositories: Lidam com o acesso a dados
- Entities/Models: Representam os dados do sistema
O sistema opera da seguinte forma:
- O processo principal é executado continuamente, aguardando até as 7h da manhã do dia seguinte
- Quando o horário programado é atingido, o sistema coleta recomendações atuais de diferentes fontes
- As recomendações são enviadas para os contatos cadastrados via email e/ou WhatsApp
- O processo se repete diariamente
As recomendações são selecionadas do banco de dados com base na data atual, garantindo que o conteúdo seja relevante e atualizado. O sistema utiliza a função get_date_start_and_end() para determinar o intervalo de datas válido para as recomendações.
O sistema utiliza variáveis de ambiente para configuração, incluindo:
- Conexão com banco de dados (PostgreSQL)
- Configurações de email (SMTP)
- Configurações de API do WhatsApp
- DomÃnios e endereços de email
Este projeto é uma parte fundamental da iniciativa MaisFoco.life, atuando como o motor de recomendações que mantém os usuários engajados com conteúdo relevante e oportuno. Enquanto a plataforma MaisFoco.life fornece a interface e experiência do usuário, este sistema trabalha nos bastidores para garantir que as recomendações sejam entregues de forma confiável e pontual.
A integração com a plataforma principal permite que os usuários recebam recomendações personalizadas com base em suas preferências, aumentando o engajamento e fornecendo valor contÃnuo aos assinantes do serviço.
- V (vlang)
- PostgreSQL
- Serviço SMTP para envio de emails
- API do WhatsApp para mensagens
O projeto job_send_recomendation é um componente crÃtico da infraestrutura da iniciativa MaisFoco.life, automatizando o processo de envio de recomendações diárias e mantendo os usuários engajados com conteúdo relevante e atualizado.