Skip to content

MaximRom00/StockAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StockAPI

Stack:

  • JDK 11,
  • Spring Boot,
  • Spring Data Jpa,
  • Spring Web,
  • Spring Email,
  • MySql,
  • Jackson,
  • Maven.

Introduction

Cryptocurrency data prices are obtained from coingecko.com. This data is stored in a database. By default we have 50 crypto currency in usd in db. Also every 60 second info about crypto currency are updated and saved in db.

GET requests:

  • /api/crypto/lowestPrice - the most cheaper crypto;
  • /api/crypto/highestPrice - the most expensive crypto;
  • /api/crypto/list?size= - get list crypto by size;
  • /api/crypto?symbol= - get crypto by symbol;
  • /api/crypto/report - get crypto in csv file. (example file);

Also you can save new user and create crypto account for this user. You can have on your crypto account: crypto in 6 currency(USD, EUR, RUB, CNY, PLN, GBP).

GET Request:

  • /api/crypto/mail/accountReport - get all accounts in csv file and this file will sent on email. (example file).

POST Requests:

  • /api/crypto/save_user - save new user,
  • /api/crypto/save_account?email=[email protected]&crypto_short=dogecoin&amount=1&currency=eur - save new account with currency eur,
  • /api/crypto/save_account?email=[email protected]&crypto_short=dogecoin&amount=1&currency=eur - save new account by default currency is usd.

DELETE Requests:

  • /api/crypto/delete?email - delete user by email,
  • /api/crypto/deleteAccount?id= - delete account by id.

Documentation for API

https://www.coingecko.com/en/api/documentation

Run

  1. Download the zip file or clone the repository:

    git clone hhttps://github.com/MaximRom00/StockAPI.git

  2. Create Mysql database. Set username and password in src/main/resources/application.properties file.

  3. Run this application using maven: Run the app using maven:

mvn spring-boot:run

The app will start running at http://localhost:8081.