How smartexploit/ekiti30digital works
EKITI@30 DIGITAL is a public knowledge and community platform: visitors explore Ekiti’s history and places, ask questions, and contribute stories or future visions; administrators authenticate to manage platform content. The repository shows a Next.js frontend, a FastAPI API, knowledge-base ingestion and data models. The README documents broader capabilities than the sampled implementation. Because most route and page source was not sampled, the graph shows confirmed router registration and authentication wiring, but does not assume how individual screens call API endpoints.
Main entry points: main.py FastAPI application · page.tsx Timeline view · admin.py Admin API · knowledge.py Knowledge documents
Components 24
Web experience
- Platform home
frontend/src/app/page.tsx - Timeline view
frontend/src/app/timeline/page.tsx - Timeline events
frontend/src/data/timelineEvents.ts - Explore Ekiti
frontend/src/app/explore/page.tsx - My Ekiti Story
frontend/src/app/my-story/page.tsx - Ask Ekiti
frontend/src/app/ask-ekiti/page.tsx - Ekiti 2056
frontend/src/app/ekiti-2056/page.tsx
API domains
- FastAPI application
backend/app/main.py - Timeline API
backend/app/api/routes/timeline.py - LGA API
backend/app/api/routes/lgas.py - Stories API
backend/app/api/routes/stories.py - Ask Ekiti API
backend/app/api/routes/ask_ekiti.py - Vision API
backend/app/api/routes/vision2056.py - Media uploads API
backend/app/api/routes/uploads.py - Admin API
backend/app/api/routes/admin.py - Media asset model
backend/app/models/asset.py
Knowledge data
- KB manifest ingestion
backend/app/services/ingestion.py - Knowledge documents
backend/app/models/knowledge.py - Application database
Admin security
- NextAuth handler
frontend/src/app/api/auth/[...nextauth]/route.ts - Admin login and JWT
frontend/src/lib/auth.ts - JWT verification
backend/app/core/auth.py
Other components
- Visitor / citizen
- Administrator
Connections 21
- Visitor / citizen → Platform home: opens
- Visitor / citizen → Timeline view: explores
- Visitor / citizen → Explore Ekiti: explores
- Visitor / citizen → My Ekiti Story: contributes
- Visitor / citizen → Ask Ekiti: asks
- Visitor / citizen → Ekiti 2056: shares vision
- Timeline view → Timeline events: reads events
- FastAPI application → Timeline API: registers route
- FastAPI application → LGA API: registers route
- FastAPI application → Stories API: registers route
- FastAPI application → Ask Ekiti API: registers route
- FastAPI application → Vision API: registers route
- FastAPI application → Media uploads API: registers route
- FastAPI application → Admin API: registers route
- KB manifest ingestion → Knowledge documents: upserts documents
- Knowledge documents → Application database: persists records
- Media asset model → Application database: persists assets
- Administrator → NextAuth handler: signs in
- NextAuth handler → Admin login and JWT: uses configuration
- Admin login and JWT → JWT verification: issues shared JWT
- Admin API → JWT verification: validates admin