SmartInvestor Ć© uma aplicaĆ§Ć£o para monitoramento de ativos financeiros. Os usuĆ”rios podem favoritar ativos e definir limites de preƧo, recebendo notificaƧƵes quando esses limites forem atingidos. š Funcionalidades
Painel Administrativo do Django: Gerenciamento de ativos e usuƔrios diretamente pelo Django Admin.
Monitoramento de Ativos: AtualizaĆ§Ć£o automĆ”tica dos preƧos dos ativos.
NotificaƧƵes por E-mail: Envio automƔtico de alertas quando o preƧo de um ativo atinge o limite definido pelo usuƔrio.
IntegraĆ§Ć£o com BRAPI: ObtĆ©m os preƧos dos ativos em tempo real.
š Tecnologias Utilizadas
Backend: Django + Django Admin
Banco de Dados: SQLite
IntegraĆ§Ć£o de Dados: API BRAPI
Gerenciamento de DependĆŖncias: pip e venv
š§ ConfiguraĆ§Ć£o e ExecuĆ§Ć£o 1ļøā£ Clone o repositĆ³rio
git clone https://github.com/GabeMed/smart-investor.git cd smart-investor
2ļøā£ Crie e ative um ambiente virtual
python3 -m venv .venv source .venv/bin/activate # No Windows: .venv\Scripts\activate
3ļøā£ Instale as dependĆŖncias
pip install -r requirements.txt
4ļøā£ Configure as variĆ”veis de ambiente
Crie um arquivo .env na raiz do projeto e adicione:
BRAPI_KEY=sua-chave-brapi EMAIL_HOST_USER=[email protected] EMAIL_HOST_PASSWORD=sua-senha-de-app EMAIL_TEST=[email protected]
5ļøā£ Configure o banco de dados
python manage.py makemigrations python manage.py migrate
6ļøā£ Crie um superusuĆ”rio para acessar o painel do admin
python manage.py createsuperuser
Siga as instruƧƵes para definir um nome de usuĆ”rio e senha. 7ļøā£ Execute o servidor Django
python manage.py runserver
Agora, acesse o painel em: š http://127.0.0.1:8000/admin
FaƧa login com as credenciais do superusuĆ”rio e gerencie os ativos e usuĆ”rios diretamente pelo painel administrativo. š¬ Testando Envio de E-mails
O envio de notificaƧƵes pode ser testado manualmente:
python manage.py shell
E dentro do shell do Django:
from django.core.mail import send_mail
send_mail( 'Teste de Alerta', 'Seu ativo atingiu o limite de preƧo!', '[email protected]', ['[email protected]'], fail_silently=False, )
Se configurado corretamente, vocĆŖ receberĆ” um e-mail de teste.