How ankitpatel-20/portfolio-20 works
This repository is a personal portfolio web app: visitors browse the owner’s profile, skills, projects, résumé, notes, and contact options; an administrator can manage portfolio content and review incoming records. The main runtime entry is App, which selects page sections and coordinates recruiter and meeting interfaces. Separate branches support local portfolio data and editing, Supabase-backed contact/appointment/note operations, and Google Meet sign-in and API access. The README is empty; edges are limited to relationships visible in the excerpts or SOURCE INDEX, so unsampled behavior is not inferred.
Main entry points: App.tsx App Shell · portfolioStorage.ts Local Portfolio Storage · supabase.ts Supabase Operations · portfolioData.ts Portfolio Content
Components 32
Portfolio Experience
- App Shell
src/App.tsx - Home Profile
src/components/HomeSection.tsx - About And Credentials
src/components/AboutSection.tsx - Skills
src/components/SkillsSection.tsx - Projects
src/components/ProjectsSection.tsx - Project Detail
src/components/ProjectModal.tsx - Résumé
src/components/ResumeSection.tsx - Social Links
src/components/SocialsSection.tsx - Data Canvas
src/components/DataUniverseCanvas.tsx - Navigation
src/components/Navbar.tsx - Footer
src/components/Footer.tsx
Visitor Engagement
- Notes And Notices
src/components/NotesSection.tsx - Contact And Booking
src/components/ContactSection.tsx - ID Scanner
src/components/ScannerView.tsx - Student ID Card
src/components/StudentIDCardModal.tsx - Recruiter Drawer
src/components/RecruiterDrawer.tsx - Meet Interface
src/components/GoogleMeetModal.tsx
Administration
- Project Editor
src/components/ProjectEditorModal.tsx - Résumé Editor
src/components/ResumeEditorModal.tsx - CV Upload
src/components/CVUploadModal.tsx - Admin Console
src/components/AdminPanelSection.tsx - Admin Login
src/components/AdminAuthModal.tsx - Admin Auth State
src/utils/adminAuth.ts - Certification Editor
src/components/CertificationEditorModal.tsx
Data And Integrations
- Portfolio Content
src/data/portfolioData.ts - Local Portfolio Storage
src/utils/portfolioStorage.ts - Supabase Operations
src/lib/supabase.ts - Google Meet Auth
src/lib/googleMeetAuth.ts - Google Meet API Client
src/lib/googleMeetApi.ts
Other components
- Portfolio Visitor
- Supabase
- Firebase Auth
Connections 44
- Portfolio Visitor → App Shell: opens
src/App.tsx - App Shell → Home Profile: renders
src/App.tsx - App Shell → About And Credentials: renders
src/App.tsx - App Shell → Skills: renders
src/App.tsx - App Shell → Projects: renders
src/App.tsx - App Shell → Résumé: renders
src/App.tsx - App Shell → Social Links: renders
src/App.tsx - App Shell → Notes And Notices: renders
src/App.tsx - App Shell → Contact And Booking: renders
src/App.tsx - App Shell → Admin Console: renders
src/App.tsx - App Shell → Recruiter Drawer: renders
src/App.tsx - App Shell → Meet Interface: renders
src/App.tsx - App Shell → Data Canvas: renders
src/App.tsx - App Shell → Navigation: renders
src/App.tsx - App Shell → Footer: renders
src/App.tsx - Home Profile → Student ID Card: opens
src/components/HomeSection.tsx - Home Profile → ID Scanner: opens
src/components/HomeSection.tsx - Projects → Project Detail: opens
src/components/ProjectsSection.tsx - Projects → Project Editor: opens
src/components/ProjectsSection.tsx - Résumé → Résumé Editor: opens
src/components/ResumeSection.tsx - Résumé → CV Upload: opens
src/components/ResumeSection.tsx - About And Credentials → Certification Editor: opens
src/components/AboutSection.tsx - About And Credentials → Portfolio Content: reads
src/components/AboutSection.tsx - Skills → Portfolio Content: reads
src/components/SkillsSection.tsx - Home Profile → Portfolio Content: reads
src/components/HomeSection.tsx - Recruiter Drawer → Portfolio Content: reads
src/components/RecruiterDrawer.tsx - Student ID Card → Portfolio Content: reads
src/components/StudentIDCardModal.tsx - Notes And Notices → Local Portfolio Storage: loads
src/components/NotesSection.tsx - Notes And Notices → Supabase Operations: saves notes
src/components/NotesSection.tsx - Contact And Booking → Supabase Operations: saves booking
src/components/ContactSection.tsx - ID Scanner → Supabase Operations: saves query
src/components/ScannerView.tsx - Admin Console → Supabase Operations: loads records
src/components/AdminPanelSection.tsx - Supabase Operations → Supabase: reads and writes
src/lib/supabase.ts - Projects → Local Portfolio Storage: persists edits
src/components/ProjectsSection.tsx - Project Editor → Local Portfolio Storage: persists project
src/components/ProjectEditorModal.tsx - Résumé Editor → Local Portfolio Storage: persists résumé
src/components/ResumeEditorModal.tsx - CV Upload → Local Portfolio Storage: stores CV
src/components/CVUploadModal.tsx - Certification Editor → Local Portfolio Storage: persists credentials
src/components/CertificationEditorModal.tsx - Admin Console → Admin Auth State: checks access
src/components/AdminPanelSection.tsx - Admin Login → Admin Auth State: authenticates
src/components/AdminAuthModal.tsx - Notes And Notices → Admin Auth State: checks access
src/components/NotesSection.tsx - Meet Interface → Google Meet Auth: signs in
src/components/GoogleMeetModal.tsx - Meet Interface → Google Meet API Client: requests Meet
src/components/GoogleMeetModal.tsx - Google Meet Auth → Firebase Auth: authenticates
src/lib/googleMeetAuth.ts