How kbdevs12/portofolio-cms works
This repository implements a portfolio CMS backend: administrators sign in, manage projects and project aspects, and external clients can retrieve profile, experience, and project data through read-only API endpoints. The main flow is browser request → Elysia routing → authenticated admin handling or public API → Supabase; admin handlers render server-side pages or write project data. The README describes a generic Elysia template, so the product capabilities here are inferred from the sampled application source. Unsampled setup and storage details are represented only where their paths and use are explicit.
Main entry points: admin.tsx Admin Routes · index.ts Elysia Server · DashboardLayout.tsx Dashboard Layout · Dashboard.tsx Dashboard Page
Components 21
HTTP Runtime
- Elysia Server
src/index.ts - Shared Setup
src/setup.ts - Static Assets
public - Read API
src/controllers/api.ts
Admin Workflows
- Admin Routes
src/controllers/admin.tsx - Password Verification
src/lib/auth.ts
Data Access
- Supabase Client
src/db/supabase.ts - Supabase Store
Server UI
- Login Page
src/views/Login.tsx - Dashboard Page
src/views/Dashboard.tsx - Project List
src/views/project/ProjectList.tsx - Project Form
src/views/project/ProjectForm.tsx - Project Aspects
src/views/project/ProjectAspect.tsx - Dashboard Layout
src/views/layout/DashboardLayout.tsx - Admin Sidebar
src/components/Sidebar.tsx - Admin Header
src/components/Header.tsx - Page Layout
src/views/Layout.tsx - Dashboard Widgets
src/components/StatCard.tsx - Date Formatting
src/util/dayFormat.ts
Other components
- Administrator
- API Client
Connections 23
- Administrator → Elysia Server: sends requests
- API Client → Elysia Server: requests data
- Elysia Server → Shared Setup: installs
- Elysia Server → Static Assets: serves assets
- Elysia Server → Read API: dispatches
- Elysia Server → Admin Routes: dispatches
- Admin Routes → Shared Setup: installs
- Read API → Supabase Client: queries
- Admin Routes → Supabase Client: queries and writes
- Supabase Client → Supabase Store: accesses
- Admin Routes → Password Verification: verifies password
- Admin Routes → Login Page: renders
- Admin Routes → Dashboard Page: renders
- Admin Routes → Project List: renders
- Admin Routes → Project Form: renders
- Admin Routes → Project Aspects: renders
- Admin Routes → Dashboard Layout: wraps pages
- Dashboard Layout → Page Layout: wraps content
- Dashboard Layout → Admin Sidebar: renders
- Dashboard Layout → Admin Header: renders
- Dashboard Page → Dashboard Widgets: renders
- Dashboard Page → Date Formatting: formats date
- Login Page → Page Layout: wraps content