Skip to content

The project was created and is being maintained to enhance knowledge about Spring Boot, microservices, unit testing, integration testing, system testing, and more – all for the sake of enjoyment.

License

Notifications You must be signed in to change notification settings

kargolek/crypto-portfolio-microservices

Repository files navigation

Crypto-Portfolio Trello

codecov Build Status Full Test Regression Test Regression Test Regression Test

Crypto-Portfolio is an application that allows users to check the balances of their cryptocurrency portfolios for various tokens such as Ethereum, Matic, and Avalanche. It provides a convenient way to monitor multiple wallet addresses simultaneously.

Table of content

Features

  • Multi-Token Support: The application checks the balances of crypto wallets for different tokens, including Ethereum, Matic, and Avalanche. More tokens will be added in the future.
  • Multi-Wallet Check: Users can check the balances of up to 70 wallet addresses at once.
  • Balance Summation: The application calculates the total balances across all wallets and presents them to the user in both numerical and graphical (treemap chart) formats.
  • Historical Balance: The application provides the wallet balances for past durations such as 1 hour, 24 hours, 7 days, 30 days, 60 days, and 90 days, based on the historical prices and current wallet balances.
  • Current Token Prices: Users can access real-time prices of the most popular cryptocurrencies obtained from CoinmarketCap.
  • Frontend: Angular 15.1
  • Backend: Spring Boot 2.7 (Microservices Architecture)
  • Database: MySQL
  • Unit Testing, Integration Testing, and E2E Testing: The application provides comprehensive test coverage to ensure its stability and reliability.
  • Cross-Platform: The application is built to support both desktop and mobile browsers.

How to Use

Preconditions

  1. Create an account on the https://coinmarketcap.com/ and add API key "COIN_MARKET_CAP_API_KEY" to system env variable
  2. Create an account on the https://etherscan.io/ and add API key "ETHERSCAN_API_KEY" to system env variable
  3. Create an account on the https://snowtrace.io/ and add API key "AVALANCHE_API_KEY" to system env variable
  4. Create an account on the https://polygonscan.com/ and add API key "POLYGON_API_KEY" to system env variable
  5. Make sure you have Docker installed on your environment

Main Steps

  1. Clone repo
  2. Run cmd script for build and compose docker containers
start build_env.bat
  1. Navigate to

The app will start with preloaded data for Bitcoin, Ethereum, Matic, Avax tokens.

License

This project is licensed under the MIT LICENSE. See the LICENSE file for more information.

API Documentation

  1. crypto-price service
  2. wallet-service

Quality Assurance

  1. Unit & Integration tests for crypto-price-service
  2. Unit & Integration tests for wallet-service
  3. QA tests for API and UI

Examples

Desktop version

  • Input wallet view web_screen1

  • Portfolio view web_screen2 web_screen3 web_screen4

Mobile version

Screen_Recording_20230628_192908_Chrome.mp4

About

The project was created and is being maintained to enhance knowledge about Spring Boot, microservices, unit testing, integration testing, system testing, and more – all for the sake of enjoyment.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published