How nhem-seyha/rental-property-management works
This repository implements a role-based rental-management backend as separate Express services behind an API gateway. Tenants and managers register or log in, then use authorized routes to manage properties and rooms, create and view rentals and payments, and perform manager-only updates. The gateway verifies JWTs and forwards tenant identity for rental and payment operations. The sampled route handlers show model operations; service entrypoints show MongoDB connections. No README was provided, so capabilities and relationships are based on the sampled source and SOURCE INDEX.
Main entry points: gatewayRoutes.js Gateway routing · propertyRoutes.js Property management · rentalRoutes.js Rental management · paymentRoutes.js Payment management
Components 16
Access and identity
- User registration
registration/routes/userRoutes.js - Registration user model
registration/models/User.js - Login and tokens
login/routes/authRoutes.js - Login user model
login/models/User.js
API gateway
- Gateway routing
gateway/routes/gatewayRoutes.js - JWT authorization
gateway/middleware/authMiddleware.js
Property inventory
- Property management
property-room/routes/propertyRoutes.js - Property model
property-room/models/Property.js - Room management
property-room/routes/roomRoutes.js - Room model
property-room/models/Room.js
Rentals and payments
- Rental management
rental-payment/routes/rentalRoutes.js - Rental model
rental-payment/models/Rental.js - Payment management
rental-payment/routes/paymentRoutes.js - Payment model
rental-payment/models/Payment.js
Other components
- API clients
- MongoDB
Connections 17
- API clients → Gateway routing: send requests
gateway/routes/gatewayRoutes.js - Gateway routing → JWT authorization: verify and authorize
gateway/routes/gatewayRoutes.js - Gateway routing → User registration: proxy registration
gateway/routes/gatewayRoutes.js - Gateway routing → Login and tokens: proxy login
gateway/routes/gatewayRoutes.js - Gateway routing → Property management: proxy property and room
gateway/routes/gatewayRoutes.js - Gateway routing → Rental management: proxy rentals
gateway/routes/gatewayRoutes.js - Gateway routing → Payment management: proxy payments
gateway/routes/gatewayRoutes.js - User registration → Registration user model: query and save
registration/routes/userRoutes.js - Login and tokens → Login user model: find account
login/routes/authRoutes.js - Property management → Property model: query and save
property-room/routes/propertyRoutes.js - Room management → Room model: query and save
property-room/routes/roomRoutes.js - Rental management → Rental model: query and save
rental-payment/routes/rentalRoutes.js - Payment management → Payment model: query and save
rental-payment/routes/paymentRoutes.js - Property management → MongoDB: persist through service
- Room management → MongoDB: persist through service
- Rental management → MongoDB: persist through service
- Payment management → MongoDB: persist through service