How iadi01/siteon works
SiteOn is a React hackathon and competition platform. Participants discover events, register, provide UPI payment references, submit projects, and track results; administrators manage events, reconcile payments, review submissions, and export data. The graph includes the shared authentication and local database layers, plus the documented Google Sheets sync. Major README capabilities such as the flagship challenge and leaderboard are represented, but the excerpts do not establish their detailed internal data flow. Edges reflect shown routing/import references or explicit README descriptions.
Main entry points: App.jsx Application router · db.js Local database engine · SubmitProject.jsx Project submission · AuthContext.jsx Authentication
Components 24
Platform shell
- Application router
src/App.jsx - Navigation
src/components/Navbar.jsx - Footer and consent
src/components/Footer.jsx
Participant experience
- Sign in / register
src/pages/Auth.jsx - Hackathon discovery
src/pages/Hackathons.jsx - Challenge detail
src/pages/HackathonDetail.jsx - UPI registration
src/components/PaymentModal.jsx - Participant profile
src/pages/Profile.jsx - Project submission
src/pages/SubmitProject.jsx - Participant dashboard
src/pages/Dashboard.jsx - Leaderboard
src/pages/Leaderboard.jsx
Competition operations
- Event and challenge admin
src/pages/admin/AdminHackathons.jsx - Payment reconciliation
src/pages/admin/AdminPayments.jsx - Submission review
src/pages/admin/AdminSubmissionReview.jsx - Submission management
src/pages/admin/AdminSubmissions.jsx - User administration
src/pages/admin/AdminUsers.jsx - Exports
src/pages/admin/AdminExports.jsx
Shared services
- Authentication
src/context/AuthContext.jsx - Local database engine
src/services/db.js - Google Sheets sync
src/services/googleSheetService.js - URL validators
src/utils/validators.js
Other components
- Participant / admin
- Google Apps Script
- UPI payment apps
Connections 36
- Participant / admin → Application router: opens platform
src/App.jsx - Application router → Authentication: provides auth
src/App.jsx - Application router → Navigation: renders
src/App.jsx - Application router → Footer and consent: renders
src/App.jsx - Application router → Sign in / register: routes to
src/App.jsx - Application router → Hackathon discovery: routes to
src/App.jsx - Application router → Challenge detail: routes to
src/App.jsx - Application router → Participant profile: routes to
src/App.jsx - Application router → Project submission: routes to
src/App.jsx - Application router → Participant dashboard: routes to
src/App.jsx - Application router → Leaderboard: routes to
src/App.jsx - Application router → Event and challenge admin: routes to
src/App.jsx - Application router → Payment reconciliation: routes to
src/App.jsx - Application router → Submission review: routes to
src/App.jsx - Application router → Submission management: routes to
src/App.jsx - Application router → User administration: routes to
src/App.jsx - Application router → Exports: routes to
src/App.jsx - Sign in / register → Authentication: authenticates
src/pages/Auth.jsx - Authentication → Local database engine: reads / writes
src/context/AuthContext.jsx - Authentication → Google Sheets sync: syncs user data
src/context/AuthContext.jsx - Challenge detail → UPI registration: offers registration
src/pages/HackathonDetail.jsx - UPI registration → Local database engine: records registration
src/components/PaymentModal.jsx - UPI registration → UPI payment apps: pays via
README.md - Project submission → Local database engine: stores submission
src/pages/SubmitProject.jsx - Project submission → URL validators: validates links
src/pages/SubmitProject.jsx - Project submission → Google Sheets sync: syncs submission
src/pages/SubmitProject.jsx - Local database engine → URL validators: validates stored links
src/services/db.js - Google Sheets sync → Google Apps Script: posts webhook
src/services/googleSheetService.js - Event and challenge admin → Local database engine: manages events
src/pages/admin/AdminHackathons.jsx - Payment reconciliation → Local database engine: reconciles payments
src/pages/admin/AdminPayments.jsx - Submission review → Local database engine: reviews submission
src/pages/admin/AdminSubmissionReview.jsx - Submission management → Local database engine: manages submissions
src/pages/admin/AdminSubmissions.jsx - User administration → Local database engine: manages users
src/pages/admin/AdminUsers.jsx - Exports → Local database engine: reads records
src/pages/admin/AdminExports.jsx - Exports → Google Sheets sync: exports data
src/pages/admin/AdminExports.jsx - Participant / admin → Leaderboard: views rankings
README.md