• Next.js
  • TypeScript
  • Tailwind
  • D3.js
  • MongoDB
  • Cypress

Context management: useContext

    @pages/api/:

  • pairs_data:

    The line graph makes a fetch call to this endpoint, here the data is fetched from the server to avoid CORS errors

  • feedbacks:

    The anonymous feedback in the footer makes a post request to this endpoint, here the feedback is saved into a mongoDB and an SMS alert is sent to my phone with Twilio

  • testAPI:

    These endpoints return mock-data that is used for developement environment and testing with Cypress

@/components/AverageTicketValue

Average price between 3 different APIs

BTC/USD

Average Ticket Value

64735.14

@/components/BiggestMoversChart

Biggest Movers 24H / %

@/components/ButtonsContainer

@/components/PairValues

from bitstampData API, values displayed in children components

BitStamp Ticket Values: 05/08/2026, 21:09:23

BTC/USD: 64712.69 (0.7)

63820.01

Day's Range

64995.84

open

64056.47

volume

1110.76001948

vwap

64398.03

bid

64712.69

ask

64712.7

side

1

open_24

64264.61

market_type

SPOT

market

BTC/USD

@/components/LineGraph

Serverless function @pages/api/pairs_data/[pair]

Graph updates every 10s