mirror of
https://github.com/iflytek/skillhub.git
synced 2026-10-10 03:27:54 +00:00
69 lines
1.8 KiB
Markdown
69 lines
1.8 KiB
Markdown
---
|
|
title: System Architecture
|
|
sidebar_position: 1
|
|
description: SkillHub system architecture overview
|
|
---
|
|
|
|
# System Architecture
|
|
|
|
## Architecture Principles
|
|
|
|
- **Monolith-first**: Phase 1 uses modular monolith, no microservices
|
|
- **Dependency Inversion**: Domain layer does not depend on infrastructure
|
|
- **Replaceable Boundaries**: Search and storage both have SPI abstractions
|
|
|
|
## Module Structure
|
|
|
|
```
|
|
server/
|
|
├── skillhub-app/ # Startup, configuration assembly, Controllers
|
|
├── skillhub-domain/ # Domain models + domain services + application services
|
|
├── skillhub-auth/ # OAuth2 authentication + RBAC + authorization decisions
|
|
├── skillhub-search/ # Search SPI + PostgreSQL full-text implementation
|
|
├── skillhub-storage/ # Object storage abstraction + LocalFile/S3
|
|
└── skillhub-infra/ # JPA, utilities, configuration foundation
|
|
```
|
|
|
|
## Module Dependencies
|
|
|
|
```
|
|
app → domain, auth, search, storage, infra
|
|
infra → domain
|
|
auth → domain
|
|
search → domain
|
|
storage → (independent)
|
|
```
|
|
|
|
## Tech Stack
|
|
|
|
| Layer | Technology | Version |
|
|
|-------|------------|---------|
|
|
| Runtime | Java | 21 |
|
|
| Framework | Spring Boot | 3.2.3 |
|
|
| Database | PostgreSQL | 16.x |
|
|
| Cache/Session | Redis | 7.x |
|
|
|
|
## Deployment Architecture
|
|
|
|
```
|
|
┌──────────────┐
|
|
│ Browser / CLI│
|
|
└──────┬───────┘
|
|
│
|
|
▼
|
|
┌──────────────┐
|
|
│ Web/Nginx │
|
|
└──────┬───────┘
|
|
│ /api/*
|
|
▼
|
|
┌──────────────┐
|
|
│ Spring Boot │
|
|
└───┬────┬─────┘
|
|
│ │
|
|
▼ ▼
|
|
PostgreSQL Redis
|
|
```
|
|
|
|
## Next Steps
|
|
|
|
- [Domain Model](./domain-model) - Core entities
|