Skip to content

Architecture Combination Guide ​

The core advantage of HaloLight lies in complete frontend-backend decoupling, supporting any combination. This document helps you choose the most suitable tech stack combination.

🎯 Quick Decision Flowchart ​

mermaid
graph TD
    A[Start Selection] --> B{Team Size?}
    B -->|Small <5| C{SEO Required?}
    B -->|Medium 5-20| D{Tech Preference?}
    B -->|Large >20| E[Angular + Spring Boot]

    C -->|Yes| F[Nuxt + FastAPI]
    C -->|No| G[Vue + FastAPI]

    D -->|Node.js| H[Next.js + NestJS]
    D -->|Python| I[Vue + FastAPI]
    D -->|Java| J[Angular + Spring Boot]
    D -->|Go| K[SvelteKit + Go Fiber]

📊 Combination Evaluation Matrix ​

Rating mainstream combinations across dimensions (max ⭐⭐⭐⭐⭐):

Next.js + NestJS ​

DimensionRatingDescription
Development Efficiency⭐⭐⭐⭐⭐TypeScript full-stack unification, type sharing
Performance⭐⭐⭐⭐SSR + edge caching optimization
Learning Curve⭐⭐⭐Need to understand React and NestJS architecture
Ecosystem Maturity⭐⭐⭐⭐⭐npm ecosystem extremely rich
Deployment⭐⭐⭐⭐Vercel + Railway/Fly.io one-click deploy
Overall⭐⭐⭐⭐First choice for multi-tenant SaaS, enterprise backends

Vue + FastAPI ​

DimensionRatingDescription
Development Efficiency⭐⭐⭐⭐⭐Vue smooth learning curve, FastAPI fast dev
Performance⭐⭐⭐⭐Vue 3 compilation optimized, Python async efficient
Learning Curve⭐⭐⭐⭐⭐Both relatively easy to pick up
Data Processing⭐⭐⭐⭐⭐Python data science ecosystem unbeatable
Deployment⭐⭐⭐⭐Frontend CDN, backend containerized
Overall⭐⭐⭐⭐⭐First choice for data/AI-driven apps

Angular + Spring Boot ​

DimensionRatingDescription
Development Efficiency⭐⭐⭐Rigorous architecture, high initial investment
Performance⭐⭐⭐⭐Enterprise optimization mature
Learning Curve⭐⭐Both have some complexity
Enterprise Maturity⭐⭐⭐⭐⭐Large enterprise first choice
Long-term Maintenance⭐⭐⭐⭐⭐Clear architecture, highly maintainable
Overall⭐⭐⭐⭐Best for large enterprises, long-term projects

SvelteKit + Go Fiber ​

DimensionRatingDescription
Development Efficiency⭐⭐⭐⭐Concise code, great dev experience
Performance⭐⭐⭐⭐⭐Both are performance benchmarks
Learning Curve⭐⭐⭐Svelte unique syntax, need to learn Go
Resource Usage⭐⭐⭐⭐⭐Extremely low memory and CPU usage
Deployment⭐⭐⭐⭐⭐Tiny container images, edge deployment ready
Overall⭐⭐⭐⭐⭐Best for high-performance real-time apps

🎨 Combination Matrix ​

Below shows all possible frontend-backend combinations. Each cell represents a viable tech stack pairing.

Frontend Frameworks (Horizontal) × Backend APIs (Vertical) ​

Frontend \ BackendNestJSNode.jsFastAPISpring BootGoPHPBuntRPC BFF
Next.js⭐ Best✅✅✅✅✅⭐ Best⭐ Best
Nuxt✅✅✅✅✅✅✅⭐ Best
Vue✅✅⭐ Best✅✅✅✅✅
Angular✅✅✅⭐ Best⭐ Best✅✅✅
SvelteKit✅✅✅✅⭐ Best✅✅✅
Astro✅✅⭐ Best✅✅✅✅✅
Solid.js✅✅✅✅⭐ Best✅⭐ Best✅
Qwik✅✅✅✅⭐ Best✅⭐ Best✅
Remix⭐ Best⭐ Best✅✅✅✅⭐ Best⭐ Best
Preact✅✅✅✅⭐ Best✅⭐ Best✅
Lit✅✅✅✅✅⭐ Best✅✅
Fresh✅✅✅✅⭐ Best✅⭐ Best✅

Legend:

  • ⭐ Best: Significant advantages in specific scenarios
  • ✅ Available: Fully compatible, ready to use

💡 Selection Recommendations ​

By Team Size ​

Small Teams (< 5 people) ​

  • Vue + FastAPI - Quick to learn, high efficiency
  • Preact + Bun - Lightweight, good performance
  • Astro + Node.js - Content-focused scenarios

Medium Teams (5-20 people) ​

  • Next.js + NestJS - TypeScript unified stack
  • Vue + Spring Boot - Balance usability and enterprise features
  • SvelteKit + FastAPI - Balance performance and efficiency

Large Teams (> 20 people) ​

  • Angular + Spring Boot - Architectural standards, maintainability
  • Next.js + NestJS + tRPC BFF - Micro-frontend + BFF architecture
  • Any Frontend + GraphQL Gateway + Microservices

By Tech Stack Preference ​

TypeScript Full-Stack ​

  • Next.js / Nuxt / Remix + NestJS + tRPC BFF
  • Solid.js / Qwik + Bun + Hono

Python Ecosystem ​

  • Vue / React / Astro + FastAPI
  • SvelteKit + FastAPI

Java Ecosystem ​

  • Angular / Vue + Spring Boot

Go Ecosystem ​

  • SvelteKit / Solid / Qwik + Go Fiber

By Deployment Environment ​

Serverless / Edge-First ​

  • Next.js + NestJS (Vercel + Vercel Functions)
  • Nuxt + Bun (Cloudflare Workers)
  • Astro + Deno Deploy

Traditional Servers ​

  • Any Frontend (Nginx static hosting) + Any Backend (PM2/Systemd)

Containerized (Kubernetes) ​

  • Any Combination (Docker images + K8s Deployment)

Hybrid Cloud ​

  • Frontend (CDN) + Backend (Private Cloud) + tRPC BFF (Edge nodes)

🔧 Tech Stack Comparison ​

Frontend Framework Features ​

FeatureNext.jsVueAngularSvelteKitSolidQwik
Learning CurveMediumLowHighLowMediumMedium
TypeScript⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
SSR/SSG⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Performance⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Ecosystem⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Bundle SizeMediumSmallLargeMinimalMinimalSmall

Backend Tech Features ​

FeatureNestJSFastAPISpring BootGo Fiber
Dev Efficiency⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Performance⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
TypeScript⭐⭐⭐⭐⭐---
Enterprise Maturity⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Data Science⭐⭐⭐⭐⭐⭐⭐⭐⭐
Resource UsageMediumSmallLargeMinimal

🚀 Quick Setup ​

After choosing your combination, follow these steps:

Step 1: Start Frontend ​

bash
# Example with Vue
git clone https://github.com/halolight/halolight-vue.git
cd halolight-vue
pnpm install
pnpm dev

Step 2: Start Backend API ​

bash
# Example with FastAPI
git clone https://github.com/halolight/halolight-api-python.git
cd halolight-api-python
pip install -e ".[dev]"
uvicorn app.main:app --reload

Step 3: Configure Frontend to Connect Backend ​

bash
# Frontend project's .env.local
VITE_API_URL=http://localhost:8000/api
VITE_USE_MOCK=false  # Disable Mock, use real API