Este repositório contém o código-fonte e os recursos relacionados ao Wallet-Service, um microserviço dedicado a gerenciar carteiras digitais de usuários.
✨ Gerenciamento de carteiras: O Wallet-Service permite aos usuários criar, atualizar e excluir carteiras digitais. Ele também oferece recursos de consulta para recuperar informações específicas de uma carteira, como saldo atual e histórico de transações.
Antes de executar a aplicação, certifique-se de ter as seguintes dependências instaladas corretamente em seu ambiente de desenvolvimento:
- Java 17
- Maven 3.9.2
- MySQL 8.0.27
- RabbitMQ 3.11.5
Observação: Para fins de avaliação ou execução em um ambiente local de teste, o projeto já está configurado com o banco de dados H2 e RabbitMQ. No entanto, se você deseja usar seu próprio servidor MySQL e/ou RabbitMQ, siga as seguintes instruções:
No arquivo de configuração application.yml
, adicione as seguintes configurações para o MySQL:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: sua_url
username: seu_usuario
password: sua_senha
Certifique-se de substituir sua_url
, seu_usuario
e sua_senha
pelas informações corretas do seu servidor MySQL.
No arquivo de configuração application.yml
, adicione as seguintes configurações para o RabbitMQ:
spring:
rabbitmq:
host: seu_host
port: sua_porta
username: seu_usuario
password: sua_senha
Certifique-se de substituir seu_host
, sua_porta
, seu_usuario
e sua_senha
pelas informações corretas do seu servidor RabbitMQ.
- Clone o repositório:
git clone [email protected]:Geovane33/wallet-service.git
- Acesse o diretório do projeto:
cd wallet-service
- Compile o código e baixe as dependências do projeto:
mvn clean package
- Inicie a aplicação:
mvn spring-boot:run
- O serviço payment-transfer-service fornece endpoints relacionados a transferencia e pagamentos, siga o passo a passo cliquando aqui caso deseja utilizar os endpoints.
- Após executar esses passos, a aplicação estará disponível em http://localhost:8080.
- O projeto está utilizando FlywayDB e nesse caso, para facilitar os testes locais, o banco de dados já terá 4 Wallets.
- Acesse a documentação da API em http://localhost:8080/swagger-ui/index.html para obter mais detalhes sobre os endpoints disponíveis.
Antes de executar a aplicação, considerando que o projeto ja vem com H2 e RabbitMQ configurados, certifique-se de ter as seguintes dependências instaladas corretamente em seu ambiente de desenvolvimento:
- Java 17
- Docker 24.0.2
- Maven 3.9.2
- Clone o repositório:
git clone [email protected]:Geovane33/wallet-service.git
- Acesse o diretório do projeto:
cd wallet-service
- Compile o código e baixe as dependências do projeto:
mvn clean package
- Construa a imagem Docker:
docker build -t wallet-service .
- O serviço forcene informaçoes via feignClient para payment-transfer-service então caso não tenha criado, crie uma rede para conectar os containers:
docker network create local
- Execute o contêiner Docker conectado à rede local:
docker run -d -p 8080:8080 --network local --name wallet-service wallet-service
- Após executar esses passos, a aplicação estará disponível em http://localhost:8080.
- Acesse a documentação da API em http://localhost:8080/swagger-ui/index.html para obter mais detalhes sobre os endpoints disponíveis.
Observações:
- A opção
-p 8080:8080
mapeia a porta 8080 do contêiner para a porta 8080 do host. Você pode alterar a porta do host, se desejar. - O parâmetro
--network local
conecta o contêiner à rede local que foi criada. - O parâmetro
--name wallet-service
define o nome do contêiner como "payment-transfer-service". Você pode escolher um nome diferente, se desejar.
Este repositório não armezena somente códigos desse projeto, ele armazena determinação, noites em claro, muito aprendizado e expectativas que, por vezes, foram frustradas!! Mas eu sei que cada linha representa uma jornada repleta de desafios e superações. Este repositório é mais do que uma simples coleção de arquivos, é uma história de crescimento, evolução e o reflexo do poder de nunca desistir diante das adversidades.