feat: migrate frontend to Astro + expand AI moderation + backend admin/runtime config

Frontend:
- migrate from Vite to Astro (astro.config.mjs, pages/, layouts/)
- add admin panel, settings page, command palette, error boundary
- refactor App.tsx, MascotChatbot, Sidebar, Header, DashboardLayout
- update API client, WebSocket, auth, dashboard features

Backend:
- add admin module and config routes
- refactor middlewares, Redis connection, WebSocket server/bridge
- add runtime config loader

Discord Gateway:
- refactor AI moderation: circuit breaker, concurrency limiter, fallback processor
- add media analysis client, Seaxng search, user profile learner
- add new drizzle migration

Shared:
- extend database schema, add new config fields
This commit is contained in:
asepharyana
2026-07-02 00:02:41 +07:00
parent d5c22a3959
commit d59b59a7a7
91 changed files with 11165 additions and 674 deletions
+45
View File
@@ -0,0 +1,45 @@
import { defineConfig } from "astro/config";
import react from "@astrojs/react";
// ─────────────────────────────────────────────────────────────
// BETE Astro Configuration
// Tailwind v4 ditangani via PostCSS (postcss.config.js)
// ─────────────────────────────────────────────────────────────
export default defineConfig({
integrations: [react()],
output: "static",
// Dev server
server: {
host: "0.0.0.0",
port: 3000,
},
// Preview
preview: {
host: true,
port: 3000,
allowedHosts: [
"imphnen.asepharyana.my.id",
"imphnen.asepharyana.tech",
"imphnen.asepharyana.web.id",
],
},
// Vite config
vite: {
server: {
allowedHosts: [
"imphnen.asepharyana.my.id",
"imphnen.asepharyana.tech",
"imphnen.asepharyana.web.id",
],
watch: {
// Penting: Astro punya public/ dir sendiri, jangan bentrok
ignored: ["!**/node_modules/**"],
},
},
// PostCSS otomatis terdeteksi dari root project
},
});