How ryannpy/my-anime works
MyAnime is a personal, authenticated anime collection tracker. Users register or sign in, then add, edit, review, rate, genre-tag and poster animes; protected views present the collection as dashboard, history, analytics and rating leaderboard. The sampled code shows route protection, authentication and collection CRUD/storage ownership; README documents the broader view capabilities. Page-level wiring is not sampled, so links from routes to data and analytics are limited to what source or README supports.
Main entry points: App.jsx Route App · animeServices.js Anime Service · supabase.js Supabase Client · authServices.js Auth Service
Components 20
Access & Navigation
- Route App
src/App.jsx - Sign In / Register
src/pages/Auth.jsx - Route Guard
src/components/protection/ProtectedRoute.jsx - Account Navigation
src/components/Sidebar.jsx
Collection Management
- Add / Edit Anime
src/features/AddAnime.jsx - Anime Detail & Delete
src/components/element/AnimeModal.jsx
Collection Views
- Dashboard
src/pages/Dashboard.jsx - Anime Collection
src/pages/AnimeList.jsx - Watch History
src/pages/History.jsx - Viewing Analytics
src/pages/Analytics.jsx - Rating Leaderboard
src/pages/Leaderboard.jsx - Statistics Helpers
src/utils/statistics.js
Supabase Services
- Genre Service
src/services/genreServices.js - Anime Service
src/services/animeServices.js - Auth Service
src/services/authServices.js - Supabase Client
src/services/supabase.js
Other components
- Visitor
- Supabase Auth
- Anime & Genre Data
- Poster Storage
Connections 27
- Visitor → Route App: opens app
- Route App → Sign In / Register: routes to
- Route App → Route Guard: checks access
- Route App → Dashboard: routes to
- Route App → Anime Collection: routes to
- Route App → Watch History: routes to
- Route App → Viewing Analytics: routes to
- Route App → Rating Leaderboard: routes to
- Sign In / Register → Auth Service: signs in/up
- Route Guard → Auth Service: checks user
- Account Navigation → Auth Service: loads user / signs out
- Auth Service → Supabase Client: uses client
- Supabase Client → Supabase Auth: auth requests
- Add / Edit Anime → Auth Service: gets current user
- Add / Edit Anime → Genre Service: loads genres
- Add / Edit Anime → Anime Service: reads / writes entries
- Anime Detail & Delete → Anime Service: deletes entry
- Anime Service → Supabase Client: uses client
- Genre Service → Supabase Client: uses client
- Supabase Client → Anime & Genre Data: queries records
- Supabase Client → Poster Storage: uploads / removes posters
- Viewing Analytics → Statistics Helpers: calculates metrics
- Dashboard → Statistics Helpers: calculates summaries
- Dashboard → Anime Service: loads collection
- Watch History → Anime Service: loads collection
- Rating Leaderboard → Anime Service: loads ranked entries
- Anime Collection → Anime Service: loads collection