How mliligenes/mini-project works
This is a library web application for browsing books, managing client accounts, and viewing loans. The user-facing flow enters through routed frontend pages; backend book, client, and loan services provide the domain APIs. Client changes also publish RabbitMQ events consumed by a notification service, which sends email and looks up client/book data over HTTP. Some domain controllers, frontend feature modules, and broker helpers are present in the tree but were not sampled, so their internal wiring is left unspecified.
Main entry points: App.jsx Routed app · app.js Email notifications · routes/Client.js Client routes · controllers/Client.js Client operations
Components 24
Web application
- Routed app
frontend/src/App.jsx - UI bootstrap
frontend/src/main.jsx - Home page
frontend/src/pages/home.jsx - Books pages
frontend/src/pages/books.jsx - Book detail
frontend/src/pages/book.jsx - My loans
frontend/src/pages/loans.jsx - Login and signup
frontend/src/pages/login.jsx
Book catalog
- Book API
backend/book/app.js - Book routes
backend/book/routes/Book.js - Book operations
backend/book/controllers/Book.js - Book model
backend/book/models/Book.js
Client accounts
- Client API
backend/client/app.js - Client routes
backend/client/routes/Client.js - Client operations
backend/client/controllers/Client.js - Client model
backend/client/models/Client.js - Client auth
backend/client/middlewares/Client.js
Loan management
- Loan API
backend/loan/app.js - Loan routes
backend/loan/routes/Loan.js - Loan operations
backend/loan/controllers/Loan.js - Loan model
backend/loan/models/Loan.js
Notifications
- Email notifications
backend/notification/app.js
Other components
- Reader
- RabbitMQ
- Email service
Connections 23
- Reader → Routed app: uses
- UI bootstrap → Routed app: renders
- Routed app → Home page: routes
- Routed app → Books pages: routes
- Routed app → Book detail: routes
- Routed app → My loans: routes
- Routed app → Login and signup: routes
- Book API → Book routes: mounts
- Book routes → Book operations: dispatches
- Book operations → Book model
- Client API → Client routes: mounts
- Client routes → Client operations: dispatches
- Client routes → Client auth: guards
- Client operations → Client model: reads/writes
- Loan API → Loan routes: mounts
- Loan routes → Loan operations: dispatches
- Loan operations → Loan model
- Email notifications → RabbitMQ: consumes events
- Email notifications → Client API: fetches emails
- Email notifications → Client API: fetches client
- Email notifications → Book API: fetches book
- Email notifications → Email service: sends email
- Client operations → RabbitMQ: publishes client events