{"id":31585029,"url":"https://github.com/jeanjacintho/banking-final-angular","last_synced_at":"2026-05-01T12:32:22.305Z","repository":{"id":317471440,"uuid":"1067559005","full_name":"jeanjacintho/banking-final-angular","owner":"jeanjacintho","description":"Sistema bancario usando SpringBoot e Angular para o projeto final de Angular do curso +Devs2Blu","archived":false,"fork":false,"pushed_at":"2025-11-06T23:19:30.000Z","size":11105,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-07T01:13:25.879Z","etag":null,"topics":["angular","jwt","nginx","spring-boot","spring-security"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeanjacintho.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":"CONTRIBUTING.MD","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-01T03:18:38.000Z","updated_at":"2025-11-06T23:19:34.000Z","dependencies_parsed_at":"2025-10-01T05:35:26.079Z","dependency_job_id":"70f09d97-3bd5-4934-8fbf-5de2767e9b7c","html_url":"https://github.com/jeanjacintho/banking-final-angular","commit_stats":null,"previous_names":["jeanjacintho/banking-final-angular"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jeanjacintho/banking-final-angular","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeanjacintho%2Fbanking-final-angular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeanjacintho%2Fbanking-final-angular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeanjacintho%2Fbanking-final-angular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeanjacintho%2Fbanking-final-angular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeanjacintho","download_url":"https://codeload.github.com/jeanjacintho/banking-final-angular/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeanjacintho%2Fbanking-final-angular/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32497811,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","jwt","nginx","spring-boot","spring-security"],"created_at":"2025-10-06T01:26:20.576Z","updated_at":"2026-05-01T12:32:22.293Z","avatar_url":"https://github.com/jeanjacintho.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bankr - Sistema de Internet Banking\n\n\u003cdiv align=\"center\"\u003e\n\n\n**Sistema completo de Internet Banking desenvolvido com Angular e Spring Boot**\n\n[![Angular](https://img.shields.io/badge/Angular-20.3.6-red.svg)](https://angular.io/)\n[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.5.6-green.svg)](https://spring.io/projects/spring-boot)\n[![Java](https://img.shields.io/badge/Java-17-orange.svg)](https://www.oracle.com/java/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.9.2-blue.svg)](https://www.typescriptlang.org/)\n[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-16-blue.svg)](https://www.postgresql.org/)\n\n\u003c/div\u003e\n\n---\n\n## Índice\n\n- [Sobre o Projeto](#sobre-o-projeto)\n- [Equipe](#equipe)\n- [Tecnologias Utilizadas](#tecnologias-utilizadas)\n- [Funcionalidades](#funcionalidades)\n- [Sprints](#sprints)\n- [Gráfico de GANTT](#gráfico-de-gantt)\n- [Acesso ao Sistema](#acesso-ao-sistema)\n- [Como Executar](#como-executar)\n- [Estrutura do Projeto](#estrutura-do-projeto)\n\n---\n\n## Sobre o Projeto\n\nO **Bankr** é um sistema completo de Internet Banking desenvolvido como projeto final do curso +devs2blu. A aplicação oferece uma experiência moderna e intuitiva para gerenciamento financeiro, permitindo que os usuários realizem diversas operações bancárias de forma segura e eficiente.\n\n### Objetivos\n\n- Fornecer uma plataforma completa de Internet Banking\n- Implementar funcionalidades bancárias essenciais\n- Garantir segurança e performance\n- Oferecer interface moderna e responsiva\n\n---\n\n## Equipe\n\n### Integrantes\n\n- **Jean Jacintho**\n- **Marcelo Calsing**\n- **Nicolas Rotta**\n- **Matheus Citadini**\n- **Ronan Kroeger**\n\n---\n\n## Tecnologias Utilizadas\n\n### Frontend\n- **Angular 20.3.6** - Framework principal\n- **TypeScript 5.9.2** - Linguagem de programação\n- **Tailwind CSS 4.1.14** - Framework CSS utilitário\n- **Lucide Angular** - Biblioteca de ícones\n- **RxJS** - Programação reativa\n\n### Backend\n- **Spring Boot 3.5.6** - Framework Java\n- **Java 17** - Linguagem de programação\n- **Spring Security** - Autenticação e autorização\n- **Spring Data JPA** - Persistência de dados\n- **JWT (Auth0)** - Autenticação baseada em tokens\n- **SpringDoc OpenAPI** - Documentação da API\n\n### Banco de Dados\n- **PostgreSQL 16** - Banco de dados relacional\n- **H2 Database** - Banco de dados em memória (desenvolvimento)\n\n### DevOps \u0026 Infraestrutura\n- **Docker** - Containerização\n- **Docker Compose** - Orquestração de containers\n- **GitHub Actions** - CI/CD\n- **Render** - Deploy e hospedagem\n\n---\n\n## Funcionalidades\n\n### 1. Autenticação e Segurança\n\n#### Login\n- Autenticação segura com JWT\n- Validação de credenciais\n- Gerenciamento de sessão\n\n![Tela de Login](docs/images/login.png)\n*Tela de login com validação de credenciais e design moderno*\n\n#### Registro de Usuário\n- Cadastro completo de novos usuários\n- Validação de dados\n- Integração com API de CEP para endereço\n\n![Tela de Registro](docs/images/register.png)\n*Formulário de registro com validação em tempo real*\n\n---\n\n### 2. Dashboard\n\n- Visão geral das contas bancárias\n- Saldo consolidado\n- Histórico de transações recentes\n- Acesso rápido às principais funcionalidades\n- Conversor de moedas integrado\n- Gerenciamento de chaves PIX\n\n![Dashboard](docs/images/dashboard.png)\n*Dashboard principal com informações consolidadas e acesso rápido*\n\n---\n\n### 3. Contas Bancárias\n\n- Visualização de todas as contas\n- Detalhes de cada conta\n- Criação de novas contas\n- Histórico de movimentações\n\n*Gerenciamento completo de contas bancárias*\n\n---\n\n### 4. Transferências\n\n- Transferências entre contas próprias\n- Transferências para terceiros via PIX\n- Histórico completo de transferências\n- Validação de saldo e limites\n\n![Transferências](docs/images/transferencias.png)\n*Interface para realização de transferências*\n\n---\n\n### 5. Cartão de Crédito\n\n#### Dashboard do Cartão\n- Visualização de fatura atual\n- Limite disponível\n- Histórico de transações\n- Resumo de gastos por categoria\n\n![Dashboard Cartão](docs/images/cartao.png)\n*Dashboard do cartão de crédito com informações detalhadas*\n\n#### Solicitação de Cartão\n- Formulário de solicitação\n- Análise de crédito\n- Acompanhamento do status\n\n![Solicitação Cartão](docs/images/solicitar-cartao.png)\n*Formulário para solicitação de cartão de crédito*\n\n---\n\n### 6. Empréstimos\n\n#### Listagem de Empréstimos\n- Visualização de todos os empréstimos contratados\n- Status de cada empréstimo\n- Detalhes de parcelas\n\n![Empréstimos](docs/images/emprestimo.png)\n*Lista de empréstimos contratados*\n\n#### Solicitação de Empréstimo\n- Simulação de empréstimo\n- Tipos disponíveis (Pessoal, Consignado)\n- Cálculo de parcelas e juros\n- Solicitação online\n\n![Solicitação Empréstimo](docs/images/solicitar-emprestimo.png)\n*Formulário para simulação e solicitação de empréstimo*\n\n---\n\n### 7. Investimentos\n\n#### Listagem de Investimentos\n- Visualização de investimentos ativos\n- Performance e rentabilidade\n- Histórico de aplicações\n\n![Investimentos](docs/images/investimento.png)\n*Lista de investimentos do usuário*\n\n#### Aplicação em Investimentos\n- Formulário de aplicação\n- Tipos de investimento disponíveis\n- Simulação de rentabilidade\n\n![Aplicação Investimentos](docs/images/solicitar-investimento.png)\n*Interface para aplicação em investimentos*\n\n---\n\n### 8. Conversão de Moedas\n\n- Conversão em tempo real\n- Múltiplas moedas suportadas\n- Taxa de câmbio atualizada\n- Histórico de conversões\n\n![Conversão de Moedas](docs/images/conversor-moedas.png)\n*Conversor de moedas com taxas atualizadas*\n\n---\n\n### 9. Chaves PIX\n\n- Cadastro de chaves PIX\n- Gerenciamento de chaves (CPF, Email, Telefone, Aleatória)\n- Exclusão de chaves\n- Listagem de todas as chaves cadastradas\n\n![Chaves PIX](docs/images/chave-pix.png)\n*Gerenciamento completo de chaves PIX*\n\n---\n\n\n## Sprints\n\nO projeto foi desenvolvido utilizando metodologia ágil SCRUM, dividido em sprints por funcionalidade.\n\nlink para sprints no clickup\n\nGrant:\nhttps://sharing.clickup.com/90132558517/g/h/2ky53cnn-593/cf594c2ca492286\n\nBoard:\nhttps://sharing.clickup.com/90132558517/b/h/2ky53cnn-513/12e04de695f0349\n\n## Gráfico de GANTT\n\nO gráfico de GANTT abaixo apresenta a visão geral do cronograma do projeto, mostrando as atividades de cada sprint e suas dependências.\n\n![Gráfico de GANTT](docs/images/grant.png)\n\n---\n\n## Acesso ao Sistema\n\n### URL de Produção\n\nO sistema está disponível em produção através do seguinte endereço:\n\n**Frontend:** [https://bankr-web.onrender.com/](https://bankr-web.onrender.com/)\n\n### Credenciais de Teste\n\nPara testar o sistema, utilize as seguintes credenciais:\n\n| Campo | Valor |\n|-------|-------|\n| **Nome** | Usuario Teste |\n| **CPF** | 37076094053 |\n| **Email** | teste@bankr.com (CHAVE PIX) |\n| **Senha** | Senha123@ |\n| **Número do Cartão** | 4001302606394832 |\n| **Validade do Cartão** | 10/2028 |\n\n---\n\n## Como Executar\n\n### Pré-requisitos\n\n- Node.js 18+ e npm\n- Java 17+\n- Maven 3.6+\n- PostgreSQL 16+\n- Docker e Docker Compose (opcional)\n\n### Instalação\n\n1. **Clone o repositório**\n```bash\ngit clone https://github.com/seu-usuario/banking-final-angular.git\ncd banking-final-angular\n```\n\n2. **Configure o banco de dados**\n\nCrie um banco de dados PostgreSQL e atualize as configurações em `api/src/main/resources/application.properties`:\n\n```properties\nspring.datasource.url=jdbc:postgresql://localhost:5432/banking_db\nspring.datasource.username=seu_usuario\nspring.datasource.password=sua_senha\n```\n\n3. **Execute o Backend**\n\n```bash\ncd api\n./mvnw spring-boot:run\n```\n\nO backend estará disponível em `http://localhost:8080`\n\n4. **Execute o Frontend**\n\n```bash\ncd web\nnpm install\nnpm start\n```\n\nO frontend estará disponível em `http://localhost:4200`\n\n### Executando com Docker\n\n```bash\ndocker-compose up -d\n```\n\n---\n\n## Estrutura do Projeto\n\n```\nbanking-final-angular/\n├── api/                          # Backend Spring Boot\n│   ├── src/\n│   │   ├── main/\n│   │   │   ├── java/\n│   │   │   │   └── com/devstoblu/banking_system/\n│   │   │   │       ├── controllers/    # Controllers REST\n│   │   │   │       ├── services/       # Lógica de negócio\n│   │   │   │       ├── models/         # Entidades JPA\n│   │   │   │       ├── dto/            # Data Transfer Objects\n│   │   │   │       ├── repositories/   # Repositórios JPA\n│   │   │   │       └── security/       # Configuração de segurança\n│   │   │   └── resources/\n│   │   │       └── application.properties\n│   │   └── test/                       # Testes\n│   └── pom.xml\n├── web/                          # Frontend Angular\n│   ├── src/\n│   │   ├── app/\n│   │   │   ├── components/       # Componentes reutilizáveis\n│   │   │   ├── pages/            # Páginas da aplicação\n│   │   │   ├── services/         # Serviços Angular\n│   │   │   ├── interceptors/     # Interceptores HTTP\n│   │   │   └── models/          # Modelos TypeScript\n│   │   ├── assets/               # Assets estáticos\n│   │   └── environments/         # Configurações de ambiente\n│   └── package.json\n├── infra/                        # Infraestrutura\n│   ├── docker/                   # Dockerfiles\n│   ├── compose/                  # Docker Compose\n│   └── ci-cd/                    # Configuração CI/CD\n├── docs/                         # Documentação\n│   └── images/                   # Imagens do README\n└── README.md                     # Este arquivo\n```\n\n---\n\n## Documentação de Rotas\n\n### Rotas da API (Backend)\n\nBase URL: `http://localhost:8080/api`\n\n#### Autenticação\n| Método | Rota | Descrição | Autenticação |\n|--------|------|-----------|--------------|\n| POST | `/api/auth/login` | Realizar login e obter token JWT | Não |\n\n#### Usuários\n| Método | Rota | Descrição | Autenticação |\n|--------|------|-----------|--------------|\n| GET | `/api/usuarios` | Listar todos os usuários | Sim |\n| GET | `/api/usuarios/me` | Obter dados do usuário autenticado | Sim |\n| GET | `/api/usuarios/{id}` | Obter usuário por ID | Sim |\n| POST | `/api/usuarios` | Criar novo usuário | Não |\n| PUT | `/api/usuarios/{id}` | Atualizar usuário | Sim |\n\n#### Contas Bancárias\n| Método | Rota | Descrição | Autenticação |\n|--------|------|-----------|--------------|\n| GET | `/api/account` | Listar todas as contas | Sim |\n| GET | `/api/account/my-accounts` | Obter contas do usuário autenticado | Sim |\n| GET | `/api/account/my-transactions` | Obter transações do usuário | Sim |\n| GET | `/api/account/checking` | Listar contas corrente | Sim |\n| GET | `/api/account/savings` | Listar contas poupança | Sim |\n| GET | `/api/account/{accountNumber}` | Obter conta por número | Sim |\n| POST | `/api/account/checking/{userId}` | Criar conta corrente | Sim |\n| POST | `/api/account/savings/{userId}` | Criar conta poupança | Sim |\n| POST | `/api/account/deposit/{accountNumber}` | Realizar depósito | Sim |\n| POST | `/api/account/withdraw/{accountNumber}` | Realizar saque | Sim |\n| POST | `/api/account/transfer` | Realizar transferência | Sim |\n| DELETE | `/api/account/{accountNumber}` | Deletar conta | Sim |\n\n#### PIX\n| Método | Rota | Descrição | Autenticação |\n|--------|------|-----------|--------------|\n| POST | `/api/pix/keys` | Cadastrar chave PIX | Sim |\n| GET | `/api/pix/keys` | Listar chaves PIX por conta | Sim |\n| DELETE | `/api/pix/keys/{id}` | Deletar chave PIX por ID | Sim |\n| POST | `/api/pix/keys/delete` | Deletar chave PIX por tipo e valor | Sim |\n| POST | `/api/pix/resolve` | Resolver chave PIX (encontrar conta) | Sim |\n\n#### Cartão de Crédito\n| Método | Rota | Descrição | Autenticação |\n|--------|------|-----------|--------------|\n| GET | `/api/credit-cards` | Listar todos os cartões | Sim |\n| GET | `/api/credit-cards/my-cards` | Obter cartões do usuário | Sim |\n| GET | `/api/credit-cards/number/{cardNumber}` | Obter cartão por número | Sim |\n| GET | `/api/credit-cards/{id}` | Obter cartão por ID | Sim |\n| GET | `/api/credit-cards/{id}/cvv` | Obter CVV do cartão | Sim |\n| POST | `/api/credit-cards` | Criar cartão | Sim |\n| POST | `/api/credit-cards/requests` | Solicitar cartão de crédito | Sim |\n| PUT | `/api/credit-cards/{id}` | Atualizar cartão | Sim |\n| DELETE | `/api/credit-cards/{id}` | Deletar cartão | Sim |\n\n#### Empréstimos\n| Método | Rota | Descrição | Autenticação |\n|--------|------|-----------|--------------|\n| GET | `/api/loans` | Listar empréstimos (opcional: ?userId=) | Sim |\n| GET | `/api/loans/{id}` | Obter empréstimo por ID | Sim |\n| POST | `/api/loans/simulate` | Simular empréstimo | Sim |\n| POST | `/api/loans/request` | Solicitar empréstimo | Sim |\n\n#### Investimentos\n| Método | Rota | Descrição | Autenticação |\n|--------|------|-----------|--------------|\n| GET | `/api/investment` | Listar todos os investimentos | Sim |\n| GET | `/api/investment/my` | Obter investimentos do usuário | Sim |\n| POST | `/api/investment/cdb/{accountNumber}` | Criar investimento CDB | Sim |\n| POST | `/api/investment/renda-fixa/{accountNumber}` | Criar investimento Renda Fixa | Sim |\n| POST | `/api/investment/apply/{accountNumber}` | Aplicar taxa de investimento | Sim |\n| POST | `/api/investment/withdraw/{accountNumber}/{id}` | Resgatar investimento | Sim |\n| DELETE | `/api/investment/cdb/{accountNumber}/{id}` | Deletar investimento CDB | Sim |\n\n#### Conversão de Moedas\n| Método | Rota | Descrição | Autenticação |\n|--------|------|-----------|--------------|\n| POST | `/api/currency/convert` | Converter moeda | Sim |\n| GET | `/api/currency/supported` | Listar moedas suportadas | Sim |\n\n#### Health Check\n| Método | Rota | Descrição | Autenticação |\n|--------|------|-----------|--------------|\n| GET | `/api/ping` | Verificar status da API | Não |\n| GET | `/api/health-check` | Health check completo | Não |\n| GET | `/api/status` | Status simples | Não |\n\n---\n\n### Rotas do Frontend (Angular)\n\nBase URL: `http://localhost:4200`\n\n#### Públicas\n| Rota | Componente | Descrição |\n|------|------------|-----------|\n| `/` | Home | Página inicial |\n| `/login` | Login | Tela de login |\n| `/register` | Register | Tela de registro |\n\n#### Autenticadas\n| Rota | Componente | Descrição |\n|------|------------|-----------|\n| `/dashboard` | Dashboard | Dashboard principal |\n| `/transfers` | TransfersPage | Página de transferências |\n| `/credit-card` | CreditCardDashboardComponent | Dashboard do cartão de crédito |\n| `/credit-card/request` | CreditCardRequestComponent | Solicitar cartão de crédito |\n| `/loans` | LoansPage | Lista de empréstimos |\n| `/loans/request` | LoanRequestComponent | Solicitar empréstimo |\n| `/investiments` | InvestmentsListPage | Lista de investimentos |\n| `/investiment/request` | InvestmentsPage | Aplicar em investimento |\n| `/currency` | CurrencyPage | Conversor de moedas |\n| `/pix-keys` | PixKeysPage | Gerenciamento de chaves PIX |\n| `/payments` | PaymentsPage | Página de pagamentos |\n\n---\n\n## Documentação da API\n\nA documentação completa da API está disponível através do Swagger/OpenAPI:\n\n- **Desenvolvimento:** http://localhost:8080/swagger-ui.html\n- **Produção:** [URL da API]/swagger-ui.html\n\n---\n\n## Licença\n\nEste projeto foi desenvolvido como projeto final do curso +devs2blu.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Desenvolvido pela equipe Bankr**\n\n[Voltar ao topo](#bankr---sistema-de-internet-banking)\n\n\u003c/div\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeanjacintho%2Fbanking-final-angular","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeanjacintho%2Fbanking-final-angular","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeanjacintho%2Fbanking-final-angular/lists"}