Project archive

Trading SaaS Platform

Multi-tenant trading SaaS connecting a Vue interface and FastAPI services on Ubuntu to an MT5 execution environment on Windows through an encrypted site-to-site VPN.

Vue 3QuasarTypeScriptFastAPIPythonMetaTrader 5MariaDBWebSocketsDockerSite-to-Site VPNUbuntuWindows Server
2024

Read this case as a

Choose your lens

Owned work across frontend, Python services, database integration, container deployment, and cross-operating-system infrastructure for a technically complex trading platform.

Claims come with context

Each outcome shows its source, related capability, and confidence level. Missing operational data stays visibly unavailable.

Verified evidence01

Full-stack application architecture

The repository documents the Vue, FastAPI, database, container, and MT5 integration boundaries

Source · Public GitHub repository

Vue 3FastAPIDockerMariaDB
Supporting context02

Cross-platform execution connectivity

An encrypted site-to-site VPN connects Ubuntu application services with the Windows-hosted MT5 environment

Source · Infrastructure addresses and credentials excluded

VPNUbuntuWindows Server
Supporting context03

Live portfolio state

WebSocket channels deliver changing market, account, and portfolio information to the client interface

Source · Private operating environment

WebSocketsVue 3Financial systems

Where each capability shows up

Vue 3Full-stack application architecture
FastAPIFull-stack application architecture
DockerFull-stack application architecture
MariaDBFull-stack application architecture
VPNCross-platform execution connectivity
UbuntuCross-platform execution connectivity
Windows ServerCross-platform execution connectivity
WebSocketsLive portfolio state
Vue 3Live portfolio state
Financial systemsLive portfolio state

A fragmented workflow slowed the whole system.

The product needed to connect modern web services running on Ubuntu with MetaTrader 5 processes that required Windows Server. The connection had to remain secure and responsive while transferring market, account, and execution state between different operating environments.

One product model, expressed clearly at every layer.

I engineered a full-stack platform using Vue, Quasar, FastAPI, Python, MariaDB, and WebSockets. A site-to-site VPN connects the Ubuntu application environment to the Windows-hosted MT5 execution engine, while separated service boundaries handle portfolio data, risk controls, and execution communication.

Walk through the system

Select a layer to inspect its responsibility.

Active layer 1

Vue 3 and Quasar trading interface

Vue 3 and Quasar trading interface owns the user-facing workflow and consumes a stable contract.

Responsibility stays explicit at this boundary.

The system, seen in use

Artifacts are captioned with the engineering story they support.

Trading dashboard using fictional accounts and financial valuesinterface

Trading dashboard

Portfolio and market information presented through the main SaaS interface using demonstration data.

Risk-control screen with fictional trading informationworkflow

Risk-control workflow

Interface for reviewing trading limits, execution state, and risk information.

Architecture diagram showing Ubuntu, VPN, Windows Server, and MetaTrader 5architecture

Cross-platform architecture

Ubuntu services communicate securely with the Windows-hosted MT5 execution environment.

Decision log

Isolate the MT5 execution environment

Context
MT5 required Windows while the application services ran on Ubuntu
Decision
Connected the environments through an encrypted site-to-site VPN
Trade-off
Added networking and monitoring complexity but preserved platform-specific execution requirements
Decision log

Separate execution from application services

Context
Trading execution failures should not directly destabilize the web application
Decision
Kept execution, API, data, and interface responsibilities in separate boundaries
Trade-off
Required explicit synchronization but improved system isolation

Complexity moved behind durable boundaries.

The most difficult work involved cross-platform routing, firewall configuration, VPN stability, and recovery behavior when connections changed. The platform also needed to prevent infrastructure failures from producing misleading trading state or unsafe execution behavior.

Want to discuss a similar system?

Share the context and we’ll find a useful first move.

Start a conversation
<PORTFOLIO/>