Logo Lanfrica

JPNA-84/LoyerMboa

Domain:

digital infrastructure

Record type:

software
Creator:
JPN
Host:
Bilingual rental marketplace for Cameroon # 🏠 LoyerMboa – Trouvez votre chez-vous / Find your home **Bilingual (FR/EN) rental marketplace for Cameroon.** --- ## Project Structure ``` loyermboa/ β”œβ”€β”€ backend/ # Node.js + Express REST API β”‚ β”œβ”€β”€ src/ β”‚ β”‚ β”œβ”€β”€ config/ # DB & JWT config β”‚ β”‚ β”œβ”€β”€ controllers/ # Business logic β”‚ β”‚ β”œβ”€β”€ middleware/ # Auth, RBAC, validation β”‚ β”‚ β”œβ”€β”€ models/ # Mongoose/DB models β”‚ β”‚ β”œβ”€β”€ routes/ # API routes β”‚ β”‚ └── utils/ # Helpers β”‚ └── package.json β”œβ”€β”€ frontend/ # React.js SPA (bilingual) β”‚ β”œβ”€β”€ src/ β”‚ β”‚ β”œβ”€β”€ components/ # Reusable UI β”‚ β”‚ β”œβ”€β”€ pages/ # Route pages β”‚ β”‚ β”œβ”€β”€ context/ # App state & i18n β”‚ β”‚ β”œβ”€β”€ locales/ # FR & EN translations β”‚ β”‚ β”œβ”€β”€ hooks/ # Custom hooks β”‚ β”‚ └── utils/ # API client, helpers β”‚ └── package.json └── package.json # Root monorepo scripts ``` ## Quick Start ### Prerequisites - Node.js >= 18 - MongoDB running locally OR set `MONGO_URI` in `.env` ### 1. Install all dependencies ```bash npm run install:all ``` ### 2. Configure environment ```bash cp backend/.env.example backend/.env # Edit backend/.env with your values ``` ### 3. Run (both frontend + backend) ```bash npm run dev ``` - **Backend API**: localhost - **Frontend**: localhost --- ## API Endpoints ### Auth | Method | Endpoint | Description | |--------|----------|-------------| | POST | `/api/auth/register` | Register (tenant or landlord) | | POST | `/api/auth/login` | Login β†’ JWT token | | POST | `/api/auth/logout` | Logout | | GET | `/api/auth/profile` | Get own profile | | PUT | `/api/auth/profile` | Update profile | ### Properties | Method | Endpoint | Description | |--------|----------|-------------| | GET | `/api/properties` | All verified properties | | GET | `/api/properties/search` | Search + filter | | GET | `/api/properties/:id` | Single property | | POST | `/api/properties` | Create (landlord only) | | PUT | `/api/propertie …