
Conheça o projeto
Neste desafio, você vai criar uma API para um sistema bancário completo contendo operações para clientes Pessoa Física e Pessoa Jurídica. O projeto deve implementar conceitos de MVC, testes unitários e integração com banco de dados SQLite, exercitando o desenvolvimento e estruturação de uma aplicação bancária funcional.
Instruções
Estrutura, regras e requisitos do projeto
Como tivemos um módulo completo, não vamos descrever detalhadamente rotas e propriedades dos registros a serem criadas, mas sim, as regras e requisitos que a API deve ter.
O motivo disso é para vocês também exercitarem o desenvolvimento e a estruturação dessa parte.
A ideia desse desafio é criar uma API para um banco contendo operações para as tabelas de Pessoa Jurídica e Pessoa Física
Criação de um sistema bancário com clientes:
- Pessoas Físicas
- Pessoas Jurídicas
Regras da aplicação
- A aplicação deve estar conectada a um banco SQLite;
- O projeto deve conter uma interface Cliente, com os métodos: Sacar dinheiro e Realizar extrato.
- As controllers devem possuir testes unitários para garantir que estão funcionando conforme devem funcionar.
- Deverá ser possível: Criar e listar usuários.
Regras de negócio
- O método "sacar dinheiro" deve possuir um limite máximo menor em Pessoa física do que para pessoa jurídica
Conceitos que pode praticar
- MVC
- Testes unitários (e quem sabe de integração 👀)
- Criação e integração com banco de dados SQLite
Aviso!
Regras para aplicação e regras de negócio são obrigatórias, porém a forma como vão ser implementadas ficam a cargo do desenvolvedor.
Material complementar
Script para a criação do banco de dados:
CREATE TABLE IF NOT EXISTS pessoa_fisica ( id INTEGER PRIMARY KEY AUTOINCREMENT, renda_mensal REAL, idade INTEGER, nome_completo TEXT, celular TEXT, email TEXT, categoria TEXT, saldo REAL ); CREATE TABLE IF NOT EXISTS pessoa_juridica ( id INTEGER PRIMARY KEY AUTOINCREMENT, faturamento REAL, idade INTEGER, nome_fantasia TEXT, celular TEXT, email_corporativo TEXT, categoria TEXT, saldo REAL ); INSERT INTO pessoa_fisica (renda_mensal, idade, nome_completo, celular, email, categoria, saldo) VALUES (5000.00, 35, 'João da Silva', '9999-8888', 'joao@example.com', 'Categoria A', 10000.00), (4000.00, 45, 'Maria Oliveira', '7777-6666', 'maria@example.com', 'Categoria B', 15000.00), (6000.00, 28, 'Pedro Santos', '5555-4444', 'pedro@example.com', 'Categoria C', 8000.00); INSERT INTO pessoa_juridica (faturamento, idade, nome_fantasia, celular, email_corporativo, categoria, saldo) VALUES (100000.00, 10, 'Empresa XYZ', '1111-2222', 'contato@empresa.com', 'Categoria A', 50000.00), (80000.00, 5, 'Empresa ABC', '3333-4444', 'contato@abc.com', 'Categoria B', 70000.00), (120000.00, 8, 'Empresa 123', '5555-6666', 'contato@123.com', 'Categoria C', 90000.00);
Entrega
Após concluir o desafio, você deve enviar a URL do seu código no GitHub para a plataforma.
Além disso, que tal fazer um post no LinkedIn compartilhando o seu aprendizado e contando como foi a experiência?
É uma excelente forma de demonstrar seus conhecimentos e atrair novas oportunidades!
Feito com 💜 por Rocketseat 👋
Como tivemos um módulo completo, não vamos descrever detalhadamente rotas e propriedades dos registros a serem criadas, mas sim, as regras e requisitos que a API deve ter.
O motivo disso é para vocês também exercitarem o desenvolvimento e a estruturação dessa parte.
A ideia desse desafio é criar uma API para um banco contendo operações para as tabelas de Pessoa Jurídica e Pessoa Física
Criação de um sistema bancário com clientes:
- Pessoas Físicas
- Pessoas Jurídicas
Regras da aplicação
- A aplicação deve estar conectada a um banco SQLite;
- O projeto deve conter uma interface Cliente, com os métodos: Sacar dinheiro e Realizar extrato.
- As controllers devem possuir testes unitários para garantir que estão funcionando conforme devem funcionar.
- Deverá ser possível: Criar e listar usuários.
Regras de negócio
- O método "sacar dinheiro" deve possuir um limite máximo menor em Pessoa física do que para pessoa jurídica
Conceitos que pode praticar
- MVC
- Testes unitários (e quem sabe de integração 👀)
- Criação e integração com banco de dados SQLite
Aviso!
Regras para aplicação e regras de negócio são obrigatórias, porém a forma como vão ser implementadas ficam a cargo do desenvolvedor.
Material complementar
Script para a criação do banco de dados:
CREATE TABLE IF NOT EXISTS pessoa_fisica ( id INTEGER PRIMARY KEY AUTOINCREMENT, renda_mensal REAL, idade INTEGER, nome_completo TEXT, celular TEXT, email TEXT, categoria TEXT, saldo REAL ); CREATE TABLE IF NOT EXISTS pessoa_juridica ( id INTEGER PRIMARY KEY AUTOINCREMENT, faturamento REAL, idade INTEGER, nome_fantasia TEXT, celular TEXT, email_corporativo TEXT, categoria TEXT, saldo REAL ); INSERT INTO pessoa_fisica (renda_mensal, idade, nome_completo, celular, email, categoria, saldo) VALUES (5000.00, 35, 'João da Silva', '9999-8888', 'joao@example.com', 'Categoria A', 10000.00), (4000.00, 45, 'Maria Oliveira', '7777-6666', 'maria@example.com', 'Categoria B', 15000.00), (6000.00, 28, 'Pedro Santos', '5555-4444', 'pedro@example.com', 'Categoria C', 8000.00); INSERT INTO pessoa_juridica (faturamento, idade, nome_fantasia, celular, email_corporativo, categoria, saldo) VALUES (100000.00, 10, 'Empresa XYZ', '1111-2222', 'contato@empresa.com', 'Categoria A', 50000.00), (80000.00, 5, 'Empresa ABC', '3333-4444', 'contato@abc.com', 'Categoria B', 70000.00), (120000.00, 8, 'Empresa 123', '5555-6666', 'contato@123.com', 'Categoria C', 90000.00);
Entrega
Após concluir o desafio, você deve enviar a URL do seu código no GitHub para a plataforma.
Além disso, que tal fazer um post no LinkedIn compartilhando o seu aprendizado e contando como foi a experiência?
É uma excelente forma de demonstrar seus conhecimentos e atrair novas oportunidades!
Feito com 💜 por Rocketseat 👋
Tarefas
Use este checklist para ajudar a organizar a sua entrega
Resolução
Confira os resultados esperados do projeto

Envie o projeto para ver a resolução
Ao enviar seu projeto, você poderá conferir os resultados esperados