Skip to content

Punkster Inc Technical Documentation

This site provides internal architecture, services and application overview for Punkster's financial apps.

DogeCoiner IO

This is a crypto portfolio management app.

Live Demo
Image

It's split up into the following client/server sub-systems.

flowchart LR
    A[Front End UI<br>_dogecoiner.punksterinc.com_] <--> S1;

    subgraph S1[ ]
        direction TB
        B[DogeCoiner API<br>_dogecoiner-api.punksterinc.com_] <--> C[(DogeCoiner DB)];
    end
    S1 <--> D[3rd party API<br>_bitunix.com_];

DogeCoiner-UI

This is a responsive React front end for creating and tracking portfolios.

This is also its own client/server stack using Next.js.

flowchart LR
    subgraph S1[_dogecoiner.punksterinc.com_]
        A[React Client] <--> B[Next.js];
    end
    B <--> D[_dogecoiner-api.punksterinc.com_];

This allows for

  • improved API security

    • the client only talks to the Next.js Node API
    • the Next.js Node server securely connects to the DogeCoiner API
  • smaller client payloads

  • optimized SSR features
UI Repo

DogeCoiner-API

An API for serving crypto price history and user portfolio data.

My app needs historical crypto price data. There are various free and paid 3rd party APIs that can provide it in real-time, with trading platforms usually having their own public APIs. For anything other than current real-time prices, historical price data is static after it's generated in the market. So I opt to store my own price history that I update periodically from 3rd party APIs.

flowchart RL
    subgraph S1[ ]
        direction TB
        B[DogeCoiner API] <--> C[(DB)];
    end
    D[3rd party API] --> S1;
API Repo

DogeCoiner-DB

This is the database that stores crypto price history and user portfolios.

DogeCoiner DB Schema

erDiagram
    KL[KLines] {
        string Symbol
        string Interval
        date Timestamp
        decimal OpenPrice
        decimal HighPrice
        decimal LowPrice
        decimal ClosePrice
        decimal Volume
    }

DB Repo