How vision2050-dev/visionmysuru-2050 works
VisionMysuru 2050 is an event and innovation-challenge platform. Visitors explore event information and social updates; participants register and submit ideas; judges evaluate submissions; administrators manage entries and shortlists. The Edition 2 Juryza workflow is backed by both server-side services and resilient browser storage. The graph follows documented routing and source references; several UI-to-API details and unsampled subsystems are not shown, so their connections are omitted rather than inferred.
Main entry points: App.jsx Client router · index.js API server · juryzaStorage.js Resilient local store · LandingPage.jsx Event landing
Components 28
Public event site
- Client router
client/src/App.jsx - Event landing
client/src/pages/LandingPage.jsx - Edition archive
client/src/pages/EditionOnePage.jsx - Event updates
client/src/Components/landing/Updates.jsx - Instagram feed UI
client/src/Components/landing/InstagramFeedSection.jsx
Juryza challenge
- Participant portal
client/src/pages/ParticipantPortal.jsx - Participant gateway
client/src/pages/JuryzaGateway.jsx - Judge hub
client/src/pages/JuryzaHub.jsx - Juryza admin
client/src/pages/AdminJuryzaPlatform.jsx - Resilient local store
client/src/services/juryzaStorage.js
Legacy submissions
- Idea submission
client/src/Components/Submission/forms/useSubmissionForm.js - Legacy admin
client/src/pages/AdminDashboard.jsx
Server and integrations
- API server
server/index.js - Juryza routes
server/routes/juryzaRoutes.js - Juryza workflows
server/controllers/juryzaController.js - Juryza authentication
server/middleware/juryzaAuth.js - Edition 2 submissions
server/models/Edition2Submission.js - Google Drive service
server/services/googleDriveService.js - Spreadsheet sync
server/services/spreadsheetService.js - Instagram routes
server/routes/instagramRoutes.js - Instagram feed service
server/controllers/instagramController.js - Submission routes
server/routes/submissionRoutes.js - Submission processing
server/controllers/submissionController.js - Submission records
server/models/Student.js - Admin routes
server/routes/adminRoutes.js - Admin submission management
server/controllers/adminController.js
Other components
- Visitor
Connections 28
- Visitor → Client router: opens
client/src/App.jsx - Client router → Event landing: routes to
client/src/App.jsx - Client router → Edition archive: routes to
client/src/App.jsx - Client router → Participant portal: routes to
client/src/App.jsx - Client router → Participant gateway: routes to
client/src/App.jsx - Client router → Judge hub: routes to
client/src/App.jsx - Client router → Juryza admin: routes to
client/src/App.jsx - Event landing → Event updates: renders
client/src/pages/LandingPage.jsx - Event landing → Instagram feed UI: renders
client/src/pages/LandingPage.jsx - Participant portal → Resilient local store: uses
- Participant gateway → Resilient local store: uses
client/src/pages/JuryzaGateway.jsx - Judge hub → Resilient local store: uses
client/src/pages/JuryzaHub.jsx - Juryza admin → Resilient local store: uses
client/src/pages/AdminJuryzaPlatform.jsx - API server → Juryza routes: mounts
server/index.js - API server → Submission routes: mounts
server/index.js - API server → Admin routes: mounts
server/index.js - API server → Instagram routes: mounts
server/index.js - Juryza routes → Juryza workflows: dispatches
server/routes/juryzaRoutes.js - Juryza routes → Juryza authentication: verifies tokens
server/routes/juryzaRoutes.js - Juryza workflows → Edition 2 submissions: reads and writes
server/controllers/juryzaController.js - Juryza workflows → Spreadsheet sync: syncs records
server/controllers/juryzaController.js - Spreadsheet sync → Google Drive service: uses
server/services/spreadsheetService.js - Instagram routes → Instagram feed service: dispatches
server/routes/instagramRoutes.js - Instagram feed service → Instagram: fetches feed
server/controllers/instagramController.js - Submission routes → Submission processing: dispatches
server/routes/submissionRoutes.js - Submission processing → Submission records: creates records
server/controllers/submissionController.js - Admin routes → Admin submission management: dispatches
server/routes/adminRoutes.js - Admin submission management → Submission records: reads and updates
server/controllers/adminController.js