How naxxod/livr-moi works
Livr'émoi is a book-discovery and favorites application. Readers browse a locally defined catalogue, filter or search it, open book and series details, and—after registering or signing in—manage favorites. The React client also offers a featured home page and theme switching; a Flask API handles sessions and favorite operations backed by SQLite. The README describes only the Vite template, so product capabilities are inferred from the source index and excerpts. Some page and API internals were not sampled; omitted links reflect that evidence limit.
Main entry points: App.jsx Route dispatcher · Catalogue.jsx Search catalogue · Home.jsx Home and featured · BookDetail.jsx Book details
Components 23
React client
- Route dispatcher
src/App.jsx - Entry screen
src/pages/Entry.jsx - Search and navigation
src/components/NavBar.jsx - User navigation
src/components/UserBar.jsx - HTTP client
src/api.js
Book discovery
- Home and featured
src/pages/Home.jsx - Search catalogue
src/pages/Catalogue.jsx - Book details
src/pages/BookDetail.jsx - Book catalogue data
src/data.js - Book cards
src/components/BookCard.jsx - Book rows
src/components/BookRow.jsx - Genre filter
src/components/GenreFilter.jsx
Identity and favorites
- Favorites screen
src/pages/Favoris.jsx - Sign-in and signup
src/pages/Connexion.jsx - Registration screen
src/pages/Inscription.jsx - Session state
src/contexts/AuthContext.jsx - Favorites state
src/hooks/useFavorites.js
Flask and storage
- Authentication endpoints
api/auth.py - Favorite endpoints
api/favoris.py - Database access
api/db.py - SQLite database
instance/livremoi.sqlite
Other components
- Reader
- Open Library covers
Connections 39
- Reader → Route dispatcher: opens
src/App.jsx - Route dispatcher → Entry screen: routes to
src/App.jsx - Route dispatcher → Home and featured: routes to
src/App.jsx - Route dispatcher → Search catalogue: routes to
src/App.jsx - Route dispatcher → Favorites screen: routes to
src/App.jsx - Route dispatcher → Sign-in and signup: routes to
src/App.jsx - Route dispatcher → Registration screen: routes to
src/App.jsx - Route dispatcher → Book details: routes to
src/App.jsx - Home and featured → Book catalogue data: reads
src/pages/Home.jsx - Search catalogue → Book catalogue data: filters
src/pages/Catalogue.jsx - Search catalogue → Genre filter: renders
src/pages/Catalogue.jsx - Search catalogue → Book cards: renders
src/pages/Catalogue.jsx - Home and featured → Book rows: renders
src/pages/Home.jsx - Book rows → Book cards: renders
src/components/BookRow.jsx - Book details → Book catalogue data: reads
src/pages/BookDetail.jsx - Favorites screen → Book catalogue data: reads
src/pages/Favoris.jsx - Search catalogue → Search and navigation: renders
src/pages/Catalogue.jsx - Home and featured → Search and navigation: renders
src/pages/Home.jsx - Book details → Search and navigation: renders
src/pages/BookDetail.jsx - Favorites screen → Search and navigation: renders
src/pages/Favoris.jsx - Search catalogue → User navigation: renders
src/pages/Catalogue.jsx - Home and featured → User navigation: renders
src/pages/Home.jsx - Book details → User navigation: renders
src/pages/BookDetail.jsx - Favorites screen → User navigation: renders
src/pages/Favoris.jsx - Search and navigation → Search catalogue: navigates
src/components/NavBar.jsx - Sign-in and signup → Session state: uses
src/pages/Connexion.jsx - Registration screen → Session state: uses
src/pages/Inscription.jsx - Session state → HTTP client: calls
src/contexts/AuthContext.jsx - Session state → Authentication endpoints: requests session
src/contexts/AuthContext.jsx - Favorites state → Session state: reads user
src/hooks/useFavorites.js - Favorites state → HTTP client: calls
src/hooks/useFavorites.js - Favorites state → Favorite endpoints: requests favorites
src/hooks/useFavorites.js - Authentication endpoints → Database access: queries
api/auth.py - Favorite endpoints → Database access: uses
api/favoris.py - Favorite endpoints → Authentication endpoints: checks login
api/favoris.py - Database access → SQLite database: connects
- Home and featured → Open Library covers: loads covers
src/pages/Home.jsx - Book details → Open Library covers: loads covers
src/pages/BookDetail.jsx - Book cards → Open Library covers: loads covers
src/components/BookCard.jsx