How majhimohit/art_gallery_new works
This is a React virtual art gallery: visitors browse artwork and exhibitions, inspect pieces, and use accounts for wishlists and purchases; artists, curators, and administrators have separate dashboards. App.jsx provides the route entry point and applies authentication/role guards to protected pages. The graph preserves the main discovery, account, and role-specific areas, along with the API client and mock-data layer. Some page implementations were not excerpted, so their internal calls and data flows are not asserted.
Main entry points: App.jsx Routes and shell · mockData.jsx Gallery mock data · AuthContext.jsx Auth state · api.js API client
Components 25
Gallery experience
- Routes and shell
src/App.jsx - Navigation
src/components/Navbar.jsx - Footer links
src/components/Footer.jsx
Accounts and access
- Role guard
src/components/ProtectedRoute.jsx - Auth state
src/context/AuthContext.jsx - Sign in
src/pages/Login.jsx - Registration
src/pages/Register.jsx - Email verification
src/pages/VerifyEmail.jsx - API client
src/services/api.js
Art discovery
- Gallery home
src/pages/Home.jsx - Artwork gallery
src/pages/Gallery.jsx - Artwork card
src/components/ArtworkCard.jsx - Artwork details
src/pages/ArtworkDetails.jsx - Exhibitions
src/pages/Exhibitions.jsx - Virtual tour
src/pages/VirtualTour.jsx - Gallery mock data
src/data/mockData.jsx
Visitor activity
- Wishlist
src/pages/Wishlist.jsx - Purchases
src/pages/Purchases.jsx - Visitor dashboard
src/pages/VisitorDashboard.jsx
Gallery management
- Artist dashboard
src/pages/ArtistDashboard.jsx - Add artwork
src/pages/AddArtwork.jsx - Edit artwork
src/pages/EditArtwork.jsx - Curator dashboard
src/pages/CuratorDashboard.jsx - Admin dashboard
src/pages/AdminDashboard.jsx
Other components
- Gallery visitor
Connections 34
- Gallery visitor → Routes and shell: opens
- Routes and shell → Auth state: provides auth
src/App.jsx - Routes and shell → Navigation: renders
src/App.jsx - Routes and shell → Footer links: renders
src/App.jsx - Routes and shell → Gallery home: routes to
src/App.jsx - Routes and shell → Artwork gallery: routes to
src/App.jsx - Routes and shell → Artwork details: routes to
src/App.jsx - Routes and shell → Exhibitions: routes to
src/App.jsx - Routes and shell → Role guard: protects routes
src/App.jsx - Routes and shell → Wishlist: routes to
src/App.jsx - Routes and shell → Purchases: routes to
src/App.jsx - Routes and shell → Add artwork: routes to
src/App.jsx - Routes and shell → Edit artwork: routes to
src/App.jsx - Routes and shell → Curator dashboard: routes to
src/App.jsx - Routes and shell → Visitor dashboard: routes to
src/App.jsx - Routes and shell → Artist dashboard: routes to
src/App.jsx - Routes and shell → Admin dashboard: routes to
src/App.jsx - Routes and shell → Virtual tour: routes to
src/App.jsx - Role guard → Auth state: checks roles
src/components/ProtectedRoute.jsx - Sign in → Auth state: uses auth
src/pages/Login.jsx - Registration → API client: calls API
src/pages/Register.jsx - Email verification → API client: calls API
src/pages/VerifyEmail.jsx - Auth state → API client: calls API
src/context/AuthContext.jsx - Artwork card → Auth state: uses auth
src/components/ArtworkCard.jsx - Artwork card → API client: deletes artwork
src/components/ArtworkCard.jsx - Admin dashboard → API client: loads users
src/pages/AdminDashboard.jsx - Artist dashboard → Gallery mock data: references data
src/pages/ArtistDashboard.jsx - Gallery home → Gallery mock data: references data
src/pages/Home.jsx - Artwork gallery → Gallery mock data: references data
src/pages/Gallery.jsx - Artwork details → Gallery mock data: references data
src/pages/ArtworkDetails.jsx - Exhibitions → Gallery mock data: references data
src/pages/Exhibitions.jsx - Virtual tour → Gallery mock data: references data
src/pages/VirtualTour.jsx - Visitor dashboard → Gallery mock data: references data
src/pages/VisitorDashboard.jsx - Wishlist → Gallery mock data: references data
src/pages/Wishlist.jsx