How otumian-empire/arms works
ARMS is an apartment-rental management API: landlords administer apartment listings, tenants register and authenticate, tenant payments are recorded as cash entries, and a rent record associates a tenant, apartment, and payment after occupancy checks. Express mounts the API route families; controllers implement the domain operations and use Mongoose models, with Redis caching on several read paths. The supplied excerpts show selected controllers and wiring, not route-handler mappings or database/cache connection behavior, so those links are not inferred.
Main entry points: model/index.js Model registry · route/index.js Route registry · caching/index.js Redis client · admin.controller.js Admin operations
Components 21
API entry
- Express app
src/app.js - Route registry
src/route/index.js - Admin routes
src/route/admin.route.js - Apartment routes
src/route/apartment.route.js - Tenant routes
src/route/tenant.route.js - Cash routes
src/route/cash.route.js - Rent routes
src/route/rent.route.js
Accounts
- Admin operations
src/controller/admin.controller.js - Tenant operations
src/controller/tenant.controller.js - JWT authentication
src/authentication/jwt.auth.js
Rental operations
- Apartment listings
src/controller/apartment.controller.js - Payment records
src/controller/cash.controller.js - Rental assignment
src/controller/rent.controller.js
Persistence and cache
- Model registry
src/model/index.js - Admin model
src/model/admin.model.js - Tenant model
src/model/tenant.model.js - Apartment model
src/model/apartment.model.js - Cash model
src/model/cash.model.js - Rent model
src/model/rent.model.js - Redis client
src/caching/index.js
Other components
- API client
Connections 24
- API client → Express app: sends requests
- Express app → Route registry: mounts routes
- Route registry → Admin routes: exports
- Route registry → Apartment routes: exports
- Route registry → Tenant routes: exports
- Route registry → Cash routes: exports
- Route registry → Rent routes: exports
- Admin operations → Model registry: queries
- Tenant operations → Model registry: queries
- Apartment listings → Model registry: queries
- Payment records → Model registry: queries
- Rental assignment → Model registry: queries
- Admin operations → JWT authentication: creates tokens
- Tenant operations → JWT authentication: creates tokens
- Admin operations → Redis client: writes cache
- Tenant operations → Redis client: writes cache
- Apartment listings → Redis client: writes cache
- Payment records → Redis client: writes cache
- Rental assignment → Redis client: writes cache
- Model registry → Admin model: exports
- Model registry → Tenant model: exports
- Model registry → Apartment model: exports
- Model registry → Cash model: exports
- Model registry → Rent model: exports