Construindo uma Carteira Digital com Typescript
Vamos criar um sistema seguindo arquitetura de microsserviços de modelo assíncrono, representando como uma fintech funciona. Criaremos API pra criação de contas, para transações bancárias, de depósito e transações de cartão.
What you will develop </>
Descrição: O objetivo deste projeto prático hands-on é desenvolver um sistema de carteira digital que representa o funcionamento de uma fintech. Serão implementados microsserviços seguindo uma arquitetura assíncrona, permitindo a criação de contas, a realização de transações bancárias, depósitos e transações com cartão.
Objetivo: O objetivo principal deste projeto é fornecer aos participantes uma experiência prática na utilização da tecnologia TypeScript para o desenvolvimento de microsserviços que compõem uma carteira digital. Por meio da construção deste sistema, os participantes terão a oportunidade de aprender os conceitos fundamentais de arquitetura de microsserviços, desenvolvimento assíncrono e integração de serviços. Além disso, eles serão capazes de adquirir conhecimentos sólidos sobre as funcionalidades típicas de uma fintech, como criação de contas, transações bancárias e operações com cartão.
Requisitos técnicos:
- Tecnologia: TypeScript
- Framework: Recomenda-se a utilização de um framework web como Express.js para o desenvolvimento das APIs
- Banco de dados: Recomenda-se a utilização de um banco de dados relacional como MySQL ou PostgreSQL para persistir os dados das contas e transações
- Autenticação e autorização: Implementar um sistema de autenticação e autorização utilizando tokens JWT (JSON Web Tokens)
- Microsserviços: Desenvolver os seguintes microsserviços:
- Serviço de criação de contas: Responsável por receber as requisições de criação de uma nova conta, validar as informações fornecidas pelo usuário e persistir esses dados no banco de dados.
- Serviço de transações bancárias: Responsável por receber as requisições de transferência bancária entre contas, verificar a disponibilidade de saldo nas contas envolvidas e registrar essas transações no banco de dados.
- Serviço de depósito: Responsável por receber as requisições de depósito em uma conta específica, atualizar o saldo da conta e registrar essa transação no banco de dados.
- Serviço de transações com cartão: Responsável por receber as requisições de transações com cartão, verificar a disponibilidade de saldo na conta vinculada ao cartão, registrar essa transação no banco de dados e processar o pagamento junto aos sistemas de pagamento.
É importante considerar a modularização dos microsserviços e a comunicação assíncrona entre eles usando mensageria, como RabbitMQ ou Kafka. Além disso, é recomendado utilizar boas práticas de codificação, como o uso de padrões de projeto, testes unitários e a documentação adequada do código.
Who will guide you in this project </>
Torne-se a opção Nº 1 dos recrutadores e conquiste as melhores vagas do mercado tech
Com o o DIO PRO você irá:
Acesso ilimitado a todos os bootcamps
E mais de 40 formações profissionais do zero ao avançado para você dominar as tecnologias nas carreiras front-end, back-end, data & analytics, mobile, cloud & DevOps e se preparar para trabalhar em grandes projetos nas empresas mais inovadoras do mundo
Mais de 180 projetos práticos para ganhar experiência
Libere acesso ilimitado a uma área com mais de 180 projetos e 650 cursos para você aprender, comprovar experiência prática e ter um portfólio de destaque no mercado
Fazer parte das maiores e mais inovadoras empresas do mundo
Certifique suas habilidades, ganhe experiência, suba no ranking de talentos e fique em destaque para recrutadores de empresas como iFood, Santander, Carrefour e outras dezenas que contratam profissionais na DIO.
About DIO
ACADEMIA PME EDUCACAO E CONSULTORIA EM NEGOCIOS LTDA.
CNPJ: 26.965.884/0001-02
DIO is the largest technology continuous learning community in Latin America, which connects the best talent with the most innovative companies in the world.
A complete educational ecosystem for learning in software development, data engineering, software quality and cloud computing.