Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/henriquesebastiao/poupy
Um webapp para gerenciamento de orçamento pessoal feito com Django.
https://github.com/henriquesebastiao/poupy
css django gunicorn html postgresql pytest python selenium
Last synced: 3 months ago
JSON representation
Um webapp para gerenciamento de orçamento pessoal feito com Django.
- Host: GitHub
- URL: https://github.com/henriquesebastiao/poupy
- Owner: henriquesebastiao
- License: mit
- Created: 2023-11-17T21:05:05.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-04T19:18:25.000Z (3 months ago)
- Last Synced: 2024-11-04T20:28:21.030Z (3 months ago)
- Topics: css, django, gunicorn, html, postgresql, pytest, python, selenium
- Language: Python
- Homepage:
- Size: 45 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Manage your personal budget.
Poupy é um aplicativo web para gerenciamento de orçamento e gastos pessoais, desenvolvido com Django. Ele permite o controle financeiro completo, incluindo a gestão de contas bancárias, receitas, despesas e transferências de saldo entre contas. Com um dashboard intuitivo, o usuário pode visualizar rapidamente um resumo financeiro mensal e manter suas finanças organizadas.
## Deploy 🚀
Você pode acessar o aplicativo [aqui](https://poupy.henriquesebastiao.com/app/login).
Entre na conta de demonstração clicando em `Login as User Demo`.
Você também pode visualizar o deploy do banco de dados usando **Adminer** neste [link](https://adminer.henriquesebastiao.com/?pgsql=projects_postgres&username=poupy&db=poupy&ns=public).
Use a senha `poupy123`.
> Este usuário é apenas para leitura, fique a vontade para bisbilhotar :)
## Funcionalidades
- **Adição de contas bancárias**: Adicione e gerencie várias contas bancárias.
- **Registro de receitas e despesas**: Registre suas entradas e saídas de dinheiro para melhor controle.
- **Transferência entre contas**: Movimente saldo entre contas cadastradas.
- **Dashboard completo:**
- Saldo total de todas as contas.
- Total de entradas e saídas mensais para um resumo rápido do fluxo financeiro.
- Saldo por conta para acompanhar a situação de cada conta individualmente.
- Maiores movimentações: Exibe as três maiores movimentações do mês, destacando receitas e despesas mais significativas.Tecnologias e ferramentas usadas no projeto:
- **Python** com **Django** para o backend.
- **HTML5** e **CSS3** para o frontend.
- **PostgreSQL** para armazenamento de dados.
- **PyTest** e **Selenium** para testes unitários e funcionais.
- **Docker** para desenvolvimento em containers.
- **Ruff** para formatação de código.
- **GitHub Actions** para execução de pipelines de CI.> [!TIP]
> Você pode ver a cobertura dos testes [aqui](https://coverage-badge.samuelcolvin.workers.dev/redirect/henriquesebastiao/poupy).## Executando o projeto localmente
> [!NOTE]
> Os passos listados abaixo são baseados em sistemas Unix, podendo para variar para outros sistemas operacionais. No passa a passo é exemplificada a execução com SQLite com banco de dados, mas o projeto usa PostgreSQL e Docker para deploy.> [!IMPORTANT]
> Para executar o projeto você deve ter o [Python](https://www.python.org/) e [Git](https://git-scm.com/) instalados em seu computador.### Clonando o repositório
```shell
git clone https://github.com/henriquesebastiao/poupy.git && cd poupy
```## Criando e ativando o ambiente virtual Python
É essencial a criação um ambiente virtual exclusivo para o projeto, visando evitar eventuais conflito com outros pacotes python instalados em seu computador.
```shell
python -m venv .venv
source .venv/bin/activate
```### Atualizando o `pip` e instalando as dependências do projeto
```shell
pip install --upgrade pip
pip install -r requirements.txt
```### Configurando as variáveis de ambiente
O projeto conta com um arquivo de modelo para a criação do `.env`, sendo assim, basta apenas duplicá-lo com o nome .env
```shell
cp .env.example .env
```### Reunindo arquivos estáticos e criando banco de dados
O último passo antes de executar o aplicativo, é juntar todos os arquivos estáticos responsáveis por dar estilo ao aplicativo e aplicar as migrações no banco de dados.
```shell
python manage.py collectstatic
python manage.py migrate
```### Executando o aplicativo ✨
Agora execute o seguinte comando para executar o aplicativo:
```shell
python manage.py runserver
```Acesse o aplicativo em [http://localhost:8000](http://localhost:8000)