How assane2911/apllication-gestion-immobili-re- works
Gestion Immobilière is a role-based property-management application with manager, tenant, owner, and admin spaces. Its main workflow is managing properties and tenants, creating contracts that generate rent invoices, then tracking payments and tenant-reported issues. The frontend calls an Express API; controllers coordinate persistence and selected services. The README documents payment-provider options, scheduled contract reminders, public listings, and file uploads. Some subsystem links reflect documented capabilities because their implementation was not sampled; uncertain internal wiring is omitted.
Main entry points: client.ts PostgreSQL data · App.tsx Role-based app · contract.controller.ts Contract operations · app.ts Express API
Components 24
Web application
- Role-based app
frontend/src/App.tsx - API client
frontend/src/api/client.ts - Manager workspace
frontend/src/pages/manager - Tenant portal
frontend/src/pages/tenant
API and identity
- Express API
backend/src/app.ts - Auth routes
backend/src/routes/auth.routes.ts - Identity controller
backend/src/controllers/auth.controller.ts - Domain routes
backend/src/routes - Domain controllers
backend/src/controllers
Rental operations
- Contract operations
backend/src/controllers/contract.controller.ts - Invoice generation
backend/src/services/invoice.service.ts - Issue reports
backend/src/controllers/issue.controller.ts - Public listings
backend/src/controllers/listing.controller.ts
Payments and services
- PostgreSQL data
backend/src/db/client.ts - Subscription control
backend/src/controllers/subscription.controller.ts - Payment service
backend/src/services/payment.service.ts - File storage
backend/src/services/storage.service.ts - Contract reminders
backend/src/controllers/cron.controller.ts - Email service
backend/src/services/email.service.ts
External systems
- Supabase
- Payment providers
- SMTP email
Other components
- Manager
- Tenant
Connections 24
- Manager → Role-based app: uses
- Tenant → Role-based app: uses
- Role-based app → Manager workspace: routes managers
- Role-based app → Tenant portal: routes tenants
- Manager workspace → API client: requests data
- Tenant portal → API client: requests data
- API client → Express API: calls API
- Express API → Auth routes: mounts
- Auth routes → Identity controller: dispatches
- Express API → Domain routes: mounts
- Domain routes → Domain controllers: dispatches
- Domain controllers → PostgreSQL data: reads and writes
- Contract operations → Invoice generation: generates invoices
- Contract operations → PostgreSQL data: reads and writes
- Contract operations → File storage: signs file links
- Subscription control → Payment service: initiates payment
- Subscription control → PostgreSQL data: updates subscription
- Payment service → Payment providers: processes payment
- File storage → Supabase: uploads and signs
- PostgreSQL data → Supabase: persists data
- Issue reports → File storage: stores photos
- Contract reminders → Email service: sends reminders
- Email service → SMTP email: delivers email
- Public listings → PostgreSQL data: reads and writes