https://github.com/lucaslomeu/mony
A web app where users can register and track their subscriptions and recurring expenses, setting alerts for due dates and optimizing personal budget.
https://github.com/lucaslomeu/mony
angular docker-compose java spring-boot
Last synced: about 2 months ago
JSON representation
A web app where users can register and track their subscriptions and recurring expenses, setting alerts for due dates and optimizing personal budget.
- Host: GitHub
- URL: https://github.com/lucaslomeu/mony
- Owner: lucaslomeu
- License: mit
- Created: 2025-03-20T18:53:02.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-18T13:56:57.000Z (about 1 year ago)
- Last Synced: 2025-05-18T14:41:35.163Z (about 1 year ago)
- Topics: angular, docker-compose, java, spring-boot
- Language: TypeScript
- Homepage:
- Size: 492 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mony
Mony é uma aplicação web para gerenciamento financeiro pessoal. Os usuários podem registrar e acompanhar assinaturas, definir categorias personalizadas e visualizar seus gastos de forma simples e organizada.
## Índice
- [Funcionalidades](#funcionalidades)
- [Estrutura](#estrutura-do-projeto)
- [Instalação](#instalação)
- [Licença](#licença)
## Funcionalidades
- Autenticação com JWT
- Cadastro de assinaturas com categorias vinculadas ao usuário
- Visualização e gerenciamento de despesas
- Interface responsiva e modular
## Estrutura do Projeto
```
mony/
├── server/ # Aplicação Spring Boot
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/mony/
│ │ │ │ ├── controller/
│ │ │ │ ├── dto/
│ │ │ │ ├── mapper/
│ │ │ │ ├── model/
│ │ │ │ ├── repository/
│ │ │ │ ├── security/
│ │ │ │ └── service/
│ │ │ └── resources/
│ │ │ └── application.properties
├── client/ # Aplicação Angular
│ ├── src/
│ │ ├── app/
│ │ │ ├── features/
│ │ │ ├── layout/
│ │ │ └── shared/
│ │ └── assets/
│ └── angular.json
```
- **Frontend:** Aplicação Angular moderna com Tailwind CSS, Angular Router e gráficos interativos via `ng2-charts` (Chart.js).
- **Backend:** API REST em Spring Boot, utilizando autenticação via JWT. O usuário autenticado é recuperado diretamente via `Principal`, aproveitando o contexto de segurança do Spring Security.
- **Banco de Dados:** PostgreSQL com Spring Data JPA para persistência e acesso eficiente aos dados.
- **Comunicação:** O frontend consome a API REST autenticada via tokens JWT.
- **Ambiente de Desenvolvimento:** `ng serve` com reload automático para frontend; Spring Boot Devtools no backend.
## Requisitos
- [Node.js](https://nodejs.org/) (Versão 18 ou superior)
- [Angular CLI](https://angular.io/cli) (Compatível com Angular 19)
- [Java 17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
- [PostgreSQL](https://www.postgresql.org/download/)
- [Docker Desktop](https://www.docker.com/products/docker-desktop/) (Opcional)
## Instalação
### Backend
```bash
cd server
```
- Criar o arquivo `.env` e seguir como base o `.env.example`:
```
POSTGRES_DB=DB_NAME
POSTGRES_USER=USER_NAME
POSTGRES_PASSWORD=PASSWORD
JWT_SECRET=YOUR_JWT_SECRET_HERE
SPRING_ALLOWED_ORIGIN=http://localhost:4200
IP_CONFIG=localhost/WSL_IP
```
### Frontend
```bash
cd frontend
npm install
ng serve
```
Acesse em `http://localhost:4200`.
### Docker (Opcional)
```bash
docker-compose up --build
```
## Licença
Distribuído sob a licença MIT.