How lyzboy/lyz-game-space works
Lyz Game Space is a personal portfolio and developer diary. Visitors browse project showcases and a diary feed, then can explore focuses and their chronological entries, including marked “aha” moments. An admin can manage focuses, technologies, and entries through authenticated forms and server actions backed by Prisma. The README also describes responsive presentation and a future learning guide; the guide is planned, not represented as a current runtime subsystem. Connections below rely on excerpts, SOURCE INDEX references, or README statements; unsampled capabilities are shown only at the level supported by the tree or README.
Main entry points: prisma.ts Prisma client · actions.ts Server actions · [id]/page.tsx Focus detail · focuses/page.tsx Focus listing
Components 25
Visitor experience
- Home page
app/page.tsx - Project showcase
app/ui/components/Sites.tsx - Shared layout
app/layout.tsx - Navigation
app/ui/components/NavBar.tsx
Diary browsing
- Diary feed
app/ui/components/TIL/TILFeed.tsx - Focus listing
app/focuses/page.tsx - Focus cards
app/ui/components/FocusMainCard.tsx - Focus detail
app/focuses/[id]/page.tsx - Entry views
app/ui/components/FocusView/Focus_Entry.tsx - Aha entries
app/ui/components/FocusView/Focus_Aha.tsx
Content management
- Admin page
app/admin/page.tsx - Entry creation form
app/ui/components/EntryFormClient.tsx - Focus editor
app/ui/components/FocusView/Focus_EditorForm.tsx - Focus and technology forms
app/ui/components/FocusForm.tsx - Server actions
app/lib/actions.ts
Data and identity
- Focus queries
app/lib/focuses.ts - Entry queries
app/lib/entries.ts - Technology queries
app/lib/technologies.ts - Prisma client
app/lib/prisma.ts - PostgreSQL
- Authentication config
auth.ts - Auth route handler
app/api/auth/[...nextauth]/route.ts
Other components
- Visitor
- Google and GitHub
- Administrator
Connections 28
- Visitor → Home page: opens
README.md - Home page → Project showcase: renders
app/page.tsx - Home page → Diary feed: renders
app/page.tsx - Shared layout → Navigation: renders
app/layout.tsx - Visitor → Focus listing: browses
README.md - Focus listing → Focus queries: fetches focuses
app/focuses/page.tsx - Focus listing → Entry queries: fetches entries
app/focuses/page.tsx - Focus listing → Focus cards: renders
app/focuses/page.tsx - Focus detail → Focus queries: loads focus
app/focuses/[id]/page.tsx - Focus detail → Technology queries: loads technologies
app/focuses/[id]/page.tsx - Focus detail → Entry views: renders entries
app/focuses/[id]/page.tsx - Focus detail → Aha entries: renders aha entries
app/focuses/[id]/page.tsx - Administrator → Admin page: manages content
app/admin/page.tsx - Admin page → Entry creation form: renders
app/admin/page.tsx - Admin page → Focus and technology forms: renders
app/admin/page.tsx - Entry creation form → Server actions: submits to
app/ui/components/EntryFormClient.tsx - Focus editor → Server actions: updates through
app/ui/components/FocusView/Focus_EditorForm.tsx - Focus and technology forms → Server actions: uses actions
app/ui/components/FocusForm.tsx - Server actions → Authentication config: checks admin role
app/lib/actions.ts - Server actions → Prisma client: writes records
app/lib/actions.ts - Focus queries → Prisma client: queries
app/lib/focuses.ts - Entry queries → Prisma client: queries
app/lib/entries.ts - Technology queries → Prisma client: queries
app/lib/technologies.ts - Diary feed → Prisma client: reads data
app/ui/components/TIL/TILFeed.tsx - Prisma client → PostgreSQL: uses adapter
- Auth route handler → Authentication config: exports handlers
app/api/auth/[...nextauth]/route.ts - Authentication config → Prisma client: configures adapter
auth.ts - Authentication config → Google and GitHub: offers sign-in
auth.ts