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.
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
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;
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
}