Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

113 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eleutheriss 💜

"Sua Liberdade Financeira Tem Nome e Lugar"

Eleutheriss é uma plataforma de gestão e educação financeira voltada ao público feminino. O sistema permite que usuárias registrem comprovantes de gastos por foto, acompanhem receitas e despesas, visualizem dashboards financeiros e acessem conteúdos educacionais sobre finanças pessoais.

Desenvolvido como projeto acadêmico na FACENS – Faculdade de Engenharia de Sorocaba, disciplina de Engenharia de Software (7º semestre).


🗂️ Estrutura do Projeto

Eleutheriss/
├── backend/        # API REST em Python com FastAPI
└── frontend/       # Interface web em React + TypeScript + Vite

🛠️ Tecnologias

Backend

  • Python 3.11+
  • FastAPI — framework web
  • SQLAlchemy 2.0 — ORM
  • Alembic — migrations de banco de dados
  • PostgreSQL (via Supabase)
  • Pydantic v2 — validação de dados
  • python-jose + bcrypt — autenticação JWT
  • Uvicorn — servidor ASGI

Frontend

  • React 18 + TypeScript
  • Vite — bundler
  • Tailwind CSS + shadcn/ui — estilização
  • React Router v6 — roteamento
  • TanStack Query — gerenciamento de estado assíncrono
  • React Hook Form + Zod — formulários e validação
  • Recharts — gráficos

⚙️ Pré-requisitos

Antes de começar, certifique-se de ter instalado:


🚀 Como rodar localmente

1. Clone o repositório

git clone https://github.com/seu-usuario/Eleutheriss.git
cd Eleutheriss

2. Backend

2.1 Crie e ative o ambiente virtual

cd backend

# Windows
python -m venv venv
venv\Scripts\activate

# Linux / macOS
python -m venv venv
source venv/bin/activate

2.2 Instale as dependências

pip install -r requirements.txt

2.3 Configure as variáveis de ambiente

Crie um arquivo .env dentro da pasta raiz do projeto (ou edite o existente) com as seguintes variáveis:

DATABASE_URL=postgresql://<usuario>:<senha>@<host>:<porta>/<banco>
SECRET_KEY=sua_chave_secreta_aqui
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=1440
OPENAI_API_KEY=           # opcional — para OCR de comprovantes
REDIS_URL=redis://localhost:6379/0   # opcional

💡 O projeto usa Supabase como banco de dados em nuvem. Você pode criar um projeto gratuito em supabase.com e copiar a connection string para DATABASE_URL.

2.4 Aplique as migrations

alembic upgrade head

Se aparecer o erro Multiple head revisions, rode antes:

alembic merge heads -m "merge_heads"
alembic upgrade head

2.5 Inicie o servidor

uvicorn app.main:app --reload

A API estará disponível em: http://localhost:8000

Documentação interativa (Swagger): http://localhost:8000/docs


3. Frontend

cd frontend

3.1 Instale as dependências

npm install
# ou, se preferir Bun:
bun install

3.2 Inicie o servidor de desenvolvimento

npm run dev
# ou
bun dev

O frontend estará disponível em: http://localhost:8080


📡 Endpoints principais da API

Método Rota Descrição
POST /api/v1/users/register Cadastro de usuária
POST /api/v1/users/login Login e geração de token JWT
GET /api/v1/incomes/ Listar receitas
POST /api/v1/incomes/ Registrar nova receita
GET / Health check da API

Acesse /docs com a API rodando para ver todos os endpoints disponíveis.


📋 Funcionalidades previstas (Product Backlog)

RF Funcionalidade Prioridade
RF1 Cadastro de usuárias Must Have
RF2 Registrar comprovante de gasto por foto Must Have
RF3 Registrar renda manual ou por foto Must Have
RF4 Dashboard com fluxo de caixa e categorias Must Have
RF5 Cursos de educação financeira Should Have
RF6 Definir metas financeiras Could Have
RF7 Monitorar objetivos com prazo e valor Could Have

🧪 Testes

Frontend

cd frontend
npm run test

Frontend (modo watch)

npm run test:watch

👩‍💻 Equipe

Projeto desenvolvido para a disciplina de Engenharia de Software — FACENS, 7º semestre.


📄 Licença

Este projeto é de uso acadêmico.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages