How fanchimao/fanchimao.github.io works
52hzfan.com is a multilingual personal portfolio and personal-world website. Visitors explore professional material or enter the personal section for albums, Ajie posts, Journey milestones, and achievement badges; an admin interface supports publishing content and posting Ajie material to Instagram. The map preserves README-documented capabilities even where their page implementations are not in the supplied tree. Some subsystem links are therefore documented rather than source-verified; standalone camera-playground wiring is not shown.
Main entry points: index.ts Site admin API · content Personal pages · app.ts Admin dashboard · passport.ts Achievement logbook
Components 30
Professional portfolio
- Professional pages
src/content - Profile and experience
src/lib/site.ts - Research and projects
src/content - Professional UI text
src/i18n/ui.ts
Personal world
- Personal pages
src/content - Personal UI text
src/i18n/personal.ts - Photo albums
src/content/albums - Journey timeline
src/content/journey - Journey globe
src/lib/journey-globe.ts - Globe renderer
src/lib/mini-globe.ts - Ajie posts and profile
src/content/ajie - Pixel Ajie companion
src/lib/ajie-pet/pet.ts - Achievement logbook
src/lib/passport.ts - Achievement rules
src/lib/achievements.ts - Stats client
src/lib/passport-stats.ts - Camera CV playground
public/playground/cam/cv-worker.js
Content administration
- Admin dashboard
src/admin/app.ts - Post validation
src/lib/admin-post.ts - Media preparation
src/admin/media.ts - Instagram publisher UI
src/admin/ig.ts
Backend services
- Site admin API
workers/site-admin/src/index.ts - Access verification
workers/site-admin/src/access.ts - Content publishing
workers/site-admin/src/publish.ts - Instagram integration
workers/site-admin/src/instagram.ts - Achievement stats API
workers/achievement-stats/src/index.ts - Stats database
workers/achievement-stats/src/index.ts
Other components
- Site visitor
- GitHub
- Cloudflare R2 media
- Instagram Graph API
Connections 29
- Site visitor → Professional pages: browses
- Site visitor → Personal pages: explores
- Professional pages → Profile and experience: presents
- Professional pages → Research and projects: presents
- Professional pages → Professional UI text: uses text
- Personal pages → Personal UI text: uses text
- Personal pages → Photo albums: shows albums
- Personal pages → Journey timeline: shows timeline
- Personal pages → Ajie posts and profile: shows posts
- Journey timeline → Journey globe: renders milestones
- Journey globe → Globe renderer: uses renderer
src/lib/journey-globe.ts - Personal pages → Achievement logbook: shows logbook
- Achievement logbook → Achievement rules: checks rules
- Ajie posts and profile → Pixel Ajie companion: hosts companion
- Admin dashboard → Post validation: validates posts
src/admin/app.ts - Admin dashboard → Media preparation: prepares uploads
src/admin/app.ts - Admin dashboard → Site admin API: calls admin API
src/admin/app.ts - Instagram publisher UI → Site admin API: calls IG API
src/admin/ig.ts - Site admin API → Access verification: verifies access
workers/site-admin/src/index.ts - Site admin API → Content publishing: builds posts
workers/site-admin/src/index.ts - Site admin API → Instagram integration: routes IG actions
workers/site-admin/src/index.ts - Site admin API → GitHub: commits content
- Site admin API → Cloudflare R2 media: uploads media
- Instagram integration → Instagram Graph API: publishes media
workers/site-admin/src/instagram.ts - Instagram integration → Cloudflare R2 media: stages media
workers/site-admin/src/instagram.ts - Achievement logbook → Stats client: reports badges
src/lib/passport-stats.ts - Stats client → Achievement stats API: calls stats API
- Achievement stats API → Stats database: reads and writes
workers/achievement-stats/src/index.ts - Achievement stats API → Ajie posts and profile: counts post likes
workers/achievement-stats/src/index.ts