Logo Lanfrica

mnemosmed/rentagentgh

Domaine:

digital infrastructure

Type de record:

software
Créateur:
mne
Hôte:
Apartment rent in Accra made easy # RentAgentGhana Finding an apartment in Accra is harder than it should be. Renters chase agents across TikTok, WhatsApp, and word of mouth — repeating the same budget, room count, and move-in date to people who may not even cover their area. **RentAgentGhana** solves that. Renters search by neighborhood, browse agents who serve that area (sorted by ratings), and unlock contacts + messaging with a weekly or monthly pass. ## Architecture Monorepo with two apps: | App | Stack | Role | |-----|--------|------| | `frontend/` | Next.js 15 (App Router) + Tailwind | Primary product UI | | `python/` | Django 5 + DRF + SimpleJWT | API + `/admin/` | ``` Browser → Next.js (Vercel) → BFF + JWT → Django API (Render) → Postgres / Paystack / Arkesel ``` Django HTML templates remain in the repo for rollback, but the Next.js app is the primary UI. Optionally set `FRONTEND_URL` so operators know where the product lives; the Django root `/` health path is unchanged for Render. ## Local development ### 1. Django API ```powershell cd python python -m venv venv .\venv\Scripts\Activate.ps1 pip install -r requirements.txt docker compose up -d copy .env.example .env python manage.py migrate python manage.py seed_agents python manage.py dedupe_agents # safe if seed already produced same-name duplicates python manage.py runserver ``` API health: 127.0.0.1 ### 2. Next.js frontend ```powershell cd frontend copy .env.local.example .env.local npm install npm run dev ``` Open localhost ### Environment **Django** (`python/.env`): | Variable | Purpose | |----------|---------| | `DATABASE_URL` | PostgreSQL connection | | `FRONTEND_URL` | Next.js origin (CORS/CSRF), e.g. `localhost` | | `CORS_ALLOWED_ORIGINS` | Comma-separated allowed origins (no trailing slash) | | `ARKESEL_API_KEY` | SMS for OTP | | `SMS_ENABLED` | `False` logs SMS to console in development | | `SITE_URL` | Public Django URL (webhooks, absolute media URLs) | | `PAY …

Languages