\\\\\\ \\\\\\\\\\\\ \\\\\\\\\\\\\\\ -------------,-| |C> // )\\\\| .o88b. db db .d8b. db db .d8b. d888888b d888888b d88888b ,','| / || ,'/////| d8P Y8 88 88 d8' '8b 88 88 d8' '8b '~~88~~' '~~88~~' 88' ---------,',' | (, || ///// 8P 88ooo88 88ooo88 Y8 8P 88ooo88 88 88 88ooooo || | \\ ||||//''''| 8b 88~~~88 88~~~88 '8b d8' 88~~~88 88 88 88~~~~~ || | ||||||| _| Y8b d8 88 88 88 88 '8bd8' 88 88 88 88 88. || |______ ''''\____/ \ 'Y88P' YP YP YP YP YP YP YP YP YP Y88888P || | ,| _/_____/ \ || ,' ,' | / | ___________________________________________ ||,' ,' | | \ | / \ \ _________|/ ,' | / | | | | | _____________,' ,',_____| | | | \ | chavatte@duck.com | | ,',' | | | | | chavatte.42web.io | | ,',' ____|_____/ / | | ________________________________________|___ | ,',' __/ | / | | / / _____________|',' ///_/-------------/ | \_/____________________________________________/ |===========,'
Este projeto abrangente oferece uma simulação completa de um sistema bancário, incluindo um frontend interativo e um backend robusto para simular transações PIX. Com foco educativo, o projeto demonstra os princípios básicos do PIX e oferece uma experiência prática para desenvolvedores e entusiastas.
Subpastas:
- frontend: Contém a interface de usuário da aplicação, construída com React.
- backend: Implementa a lógica da API para simulação das transações PIX, utilizando Node.js e Express.js.
O Virtus Bank simula um ambiente bancário completo, permitindo que os usuários:
- Cadastrem-se e façam login: Crie contas e acesse o sistema de forma segura.
- Simulem transações PIX: Gere chaves PIX, solicite e realize pagamentos, e visualize o histórico de transações.
- Gerenciem informações: Acesse dados pessoais, saldo da carteira virtual e informações da conta.
Frontend:
- React
- React Router DOM
- Styled Components
- ReactJS Popup
- Axios
- DayJS
Backend:
- Node.js
- Express.js
- TypeORM
- PostgreSQL
- JWT (JSON Web Tokens)
- Joi
- js-base64
- Jest (para testes)
-
Clone o Repositório: Bash
git clone https://github.com/chavatte/virtusbank.git
-
Instale as Dependências: Bash
cd virtusbank/frontend npm install cd ../backend npm install
-
Configure o Backend:
- Renomeie o arquivo
.env.example
para.env
. - Preencha os dados de conexão com o PostgreSQL no arquivo
.env
. - Execute as migrações:
npx typeorm migration:run
- Renomeie o arquivo
-
Inicie os Servidores: Bash
# No diretório frontend npm start # No diretório backend npm run dev
-
Acesse a Aplicação:
- Backend: Abra o navegador e acesse
http://localhost:3000
- Frontend: Abra o navegador e acesse
http://localhost:3001
Observação: O React assumirá outra porta, pois a porta 3000 está em uso pelo backend. Para evitar erros: inicie o backend antes do frontend.
A documentação completa da API, incluindo endpoints, parâmetros e exemplos, está disponível em:
http://localhost:3000/virtusbank/docs
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.
- As transações PIX são simuladas e não envolvem dinheiro real.
- O projeto possui testes automatizados para garantir a qualidade do código.
- Para informações mais detalhadas, consulte os READMEs específicos do frontend e backend.
O Virtus Bank também está disponível online para testes e demonstração:
- Frontend: https://virtusbank.vercel.app/
- Backend: https://api-virtusbank.fly.dev/