How kant-righteous/franchina works
FranChina is a French-life information site for Chinese students, with a separate Remote MCP service for exchange-rate data. The main reader journey is browsing topic and city guides; the service journey accepts authenticated rate submissions and stores them. The README documents additional guide categories and tools that are represented by their existing content directories. MCP excerpts establish the server, persistence, and authentication components; unsampled site rendering and some MCP wiring are shown only where documented.
Main entry points: index.md FranChina website · server.py MCP server · update_currency.py Currency updater · api_keys.py API key auth
Components 26
Student Guides
- Guide content
docs/pages - Guide assets
docs/assets - Admin guides
docs/pages/admin - Life guides
docs/pages/life - City guides
docs/pages/cities - Toulouse guides
docs/pages/toulouse - Help and tools
docs/pages/help
Website Presentation
- Site configuration
mkdocs.yml - Theme override
overrides/main.html - Site styles
docs/stylesheets - FranChina website
docs/index.md
Remote MCP
- MCP server
mcp/franchina_mcp/server.py - API key auth
mcp/franchina_mcp/api_keys.py - Access auth
mcp/franchina_mcp/cloudflare_access.py - Request gate
mcp/franchina_mcp/public_gate.py - Auth database
mcp/franchina_mcp/api_keys.py - Key management
mcp/franchina_mcp/keys.py
Rate Data
- Rate validation
mcp/franchina_mcp/models.py - Rates repository
mcp/franchina_mcp/database.py - Rates database
mcp/franchina_mcp/database.py - Currency updater
scripts/update_currency.py - Currency data assets
docs/assets/life/finance/currency-calculator
Other components
- Student reader
- MCP client
- Cloudflare Access
- Exchange-rate source
Connections 20
- Student reader → FranChina website: browses
- Guide content → FranChina website: provides content
- Guide assets → FranChina website: supplies media
- Site configuration → FranChina website: configures
- Theme override → FranChina website: customizes
- Site styles → FranChina website: styles
- MCP client → MCP server: calls tools
- MCP server → Rate validation: validates input
- MCP server → Rates repository: saves rates
- Rates repository → Rates database: reads and writes
- MCP server → API key auth: uses in API-key mode
- MCP server → Access auth: uses in Access mode
- API key auth → Request gate: gates requests
- Access auth → Request gate: gates requests
- API key auth → Auth database: looks up keys
- Key management → Auth database: manages keys
- Cloudflare Access → Access auth: provides assertions
- Currency updater → Exchange-rate source: fetches rates
- Currency updater → Currency data assets: updates files
- Currency updater → Guide assets: backfills history