refactor: Modularize server into separate concerns

Split monolithic index.ts (~1400 lines) into modular structure:
- config.ts: Server configuration and constants
- db/: Database initialization, migrations, and seeds
- routes/: API handlers by domain (themes, canvas, components, etc.)
- services/: Terminal WebSocket server
- utils/: CORS helpers

Entry point now only coordinates initialization.
This commit is contained in:
2026-02-13 13:01:18 -06:00
parent 9681ce4198
commit 645f51a74e
16 changed files with 1503 additions and 1382 deletions

16
server/db/index.ts Normal file
View File

@@ -0,0 +1,16 @@
import { Database } from 'bun:sqlite'
import { DB_PATH } from '../config'
import { runMigrations } from './migrations'
import { runSeeds } from './seeds'
// Create database instance
export const db = new Database(DB_PATH)
// Initialize database
export function initDatabase() {
runMigrations(db)
runSeeds(db)
console.log('[DB] SQLite initialized:', DB_PATH)
}
export { Database }