How pradeep-polishetty/elibrary works
This is a book-access platform for students and faculty, with user accounts and an admin workflow for uploading and managing books. Readers browse books, open details, and submit ratings; admins upload PDFs and view usage statistics and users. The backend routes requests to controllers, which work with MongoDB models and Cloudinary. The tree and sampled files establish these backend relationships, but the frontend API wiring was not sampled, so no UI-to-API calls are asserted.
Main entry points: App.jsx App routes · server.js Express server · auth.controller.js Authentication · admin.controller.js Admin operations
Components 28
Web interface
- App routes
frontend/src/App.jsx - Book browsing
frontend/src/pages/HomePage.jsx - Book details
frontend/src/pages/BookDetailPage.jsx - Rating form
frontend/src/components/books/RatingForm.jsx - Account pages
frontend/src/pages/LoginPage.jsx - Profile page
frontend/src/pages/ProfilePage.jsx - Admin pages
frontend/src/pages/AdminDashboardPage.jsx - API state
frontend/src/store/slices/apiSlice.js
API access
- Express server
backend/server.js - Auth routes
backend/routes/auth.routes.js - Book routes
backend/routes/book.routes.js - User routes
backend/routes/user.routes.js - Admin routes
backend/routes/admin.routes.js - Access control
backend/middlewares/auth.middleware.js
Domain workflows
- Authentication
backend/controllers/auth.controller.js - Book operations
backend/controllers/book.controller.js - User profiles
backend/controllers/user.controller.js - Admin operations
backend/controllers/admin.controller.js
Data and integrations
- Book records
backend/models/book.model.js - Rating records
backend/models/rating.model.js - User records
backend/models/user.model.js - Admin records
backend/models/admin.model.js - MongoDB
backend/config/db.js - PDF upload
backend/services/cloudinary.service.js
Other components
- Reader
- Administrator
- Cloudinary
- Firebase Auth
Connections 32
- Reader → App routes: uses
- Administrator → App routes: uses
- App routes → Book browsing: routes to
- App routes → Book details: routes to
- App routes → Account pages: routes to
- App routes → Profile page: routes to
- App routes → Admin pages: routes to
- Express server → Auth routes: mounts
- Express server → Book routes: mounts
- Express server → User routes: mounts
- Express server → Admin routes: mounts
- Auth routes → Authentication: dispatches
- Book routes → Book operations: dispatches
- User routes → Access control: guards
- User routes → User profiles: dispatches
- Admin routes → Access control: guards
- Admin routes → Admin operations: dispatches
- Book routes → Access control: guards
- Authentication → User records: reads/writes
- Authentication → Admin records: reads
- Authentication → Firebase Auth: verifies token
- Book operations → Book records: reads/writes
- Book operations → Rating records: reads/writes
- User profiles → User records: reads/writes
- Admin operations → User records: reads
- Admin operations → Book records: reads/writes
- Admin operations → PDF upload: uploads PDF
- PDF upload → Cloudinary: stores file
- Book records → MongoDB: persists
- Rating records → MongoDB: persists
- User records → MongoDB: persists
- Admin records → MongoDB: persists