{"id":29854972,"url":"https://github.com/rainernsa/phcityrent","last_synced_at":"2026-01-20T16:33:55.559Z","repository":{"id":303799539,"uuid":"1006201113","full_name":"RainerNsa/PhCityRent","owner":"RainerNsa","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-09T12:55:22.000Z","size":13345,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-29T22:59:22.028Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ph-city-rent.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RainerNsa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY_CHECKLIST.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-21T18:06:11.000Z","updated_at":"2025-07-09T12:55:25.000Z","dependencies_parsed_at":"2025-07-09T14:04:56.198Z","dependency_job_id":null,"html_url":"https://github.com/RainerNsa/PhCityRent","commit_stats":null,"previous_names":["rainernsa/phcityrent"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RainerNsa/PhCityRent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RainerNsa%2FPhCityRent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RainerNsa%2FPhCityRent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RainerNsa%2FPhCityRent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RainerNsa%2FPhCityRent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RainerNsa","download_url":"https://codeload.github.com/RainerNsa/PhCityRent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RainerNsa%2FPhCityRent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272942772,"owners_count":25019407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-29T22:21:25.672Z","updated_at":"2026-01-20T16:33:55.532Z","avatar_url":"https://github.com/RainerNsa.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Real Estate Platform – Project Overview\n\n## Table of Contents\n- [About](#about)\n- [Key Features](#key-features)\n- [Architecture](#architecture)\n- [Tech Stack](#tech-stack)\n- [Migration Plans](#migration-plans)\n- [Team Guides](#team-guides)\n- [Getting Started](#getting-started)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## About\nThis project is a modern, full-featured real estate platform designed to streamline property search, discovery, and management for users in Port Harcourt and beyond. It supports multiple user roles (tenants, landlords, agents, admins) and provides advanced tools for property listing, application, messaging, payments, analytics, and more.\n\n---\n\n## Key Features\n- **Advanced Property Search \u0026 Discovery:**\n  - Filter by location, price, amenities, verification, and more\n  - Grid/list views, progressive loading, and real-time updates\n- **User Roles \u0026 Dashboards:**\n  - Dedicated dashboards for tenants, landlords, agents, and admins\n- **Authentication \u0026 Authorization:**\n  - Secure login, registration, and role-based access\n- **Property Management:**\n  - Listing, editing, comparison, and management tools\n- **Application \u0026 Screening:**\n  - Rental application forms, status tracking, and tenant screening\n- **Messaging \u0026 Notifications:**\n  - Real-time messaging, notification centers, and alerts\n- **Payments \u0026 Escrow:**\n  - Payment dashboards, escrow forms, and payment provider integration\n- **Analytics \u0026 Reporting:**\n  - Admin and agent analytics, performance tracking, and advanced reporting\n- **Localization \u0026 Accessibility:**\n  - Language management and mobile-optimized components\n- **AI \u0026 Automation:**\n  - Property recommendations and automated workflows\n- **Seed Data \u0026 Testing:**\n  - Tools for seeding sample data for development/testing\n\n---\n\n## Architecture\n\n### High-Level Diagram\n```mermaid\nflowchart TD\n  subgraph Frontend [Frontend (React)]\n    A1[User Interface]\n    A2[Hooks \u0026 State]\n    A3[Component Library]\n    A4[Auth, Messaging, Search]\n  end\n\n  subgraph Backend [Backend API]\n    B1[Node.js/Express or NestJS]\n    B2[PostgreSQL]\n    B3[File Storage (S3/Local)]\n    B4[WebSockets]\n    B5[Payments]\n  end\n\n  subgraph DevOps [DevOps]\n    C1[Docker, CI/CD]\n    C2[Nginx/Traefik]\n    C3[Monitoring]\n    C4[Backups]\n  end\n\n  A1 --\u003e|API Calls| Backend\n  A2 --\u003e|Hooks| A1\n  A3 --\u003e|UI| A1\n  A4 --\u003e|Features| A1\n  Backend --\u003e|REST/GraphQL| A1\n  C1 --\u003e|Build/Deploy| Backend\n  C2 --\u003e|Proxy| Backend\n  C3 --\u003e|Monitor| Backend\n  C4 --\u003e|Backup| B2\n```\n\n---\n\n## Tech Stack\n- **Frontend:** React (TypeScript), Vite, Tailwind CSS, Lucide-react\n- **Backend:** Node.js (Express or NestJS), PostgreSQL, Socket.IO, REST/GraphQL APIs\n- **Authentication:** JWT-based, role-based access\n- **File Storage:** S3-compatible or local disk\n- **Payments:** Paystack, Stripe, or similar\n- **DevOps:** Docker, Nginx/Traefik, GitHub Actions, Prometheus, Grafana, Sentry\n\n---\n\n## Migration Plans\nThis project is transitioning from a Supabase/serverless backend to a traditional, self-hosted backend. The migration is organized into three main tracks:\n\n- **[Backend Migration Plan](./backend.md):**\n  - API, database, features, and integration\n- **[Frontend Migration Plan](./frontend.md):**\n  - API integration, refactoring, and testing\n- **[DevOps Migration Plan](./devops.md):**\n  - Infrastructure, CI/CD, deployment, and monitoring\n\nEach plan includes a detailed week-by-week timeline and deliverables.\n\n---\n\n## Team Guides\nTo ensure project success, each team has a dedicated success guide:\n\n- **[Backend Success Guide](./backend-success-guide.md):**\n  - Responsibilities, best practices, and critical steps for backend developers\n- **[Frontend Success Guide](./frontend-success-guide.md):**\n  - Responsibilities, best practices, and critical steps for frontend developers\n- **[DevOps Success Guide](./devops-success-guide.md):**\n  - Responsibilities, best practices, and critical steps for DevOps engineers\n\n---\n\n## Getting Started\n\n### Prerequisites\n- Node.js (v18+ recommended)\n- PostgreSQL\n- Docker (for local development and deployment)\n- Yarn or npm\n\n### Installation\n1. **Clone the repository:**\n   ```bash\n   git clone \u003crepo-url\u003e\n   cd \u003cproject-folder\u003e\n   ```\n2. **Install dependencies:**\n   ```bash\n   npm install\n   # or\n   yarn install\n   ```\n3. **Set up environment variables:**\n   ```bash\n   cp .env.example .env\n   # Edit .env with your actual credentials (never commit this file!)\n   ```\n   📖 **See [ENVIRONMENT_SETUP.md](./ENVIRONMENT_SETUP.md) for detailed setup instructions**\n\n   ⚠️ **Security Notice:** Never commit `.env` files to version control\n4. **Run the development server:**\n   ```bash\n   npm run dev\n   # or\n   yarn dev\n   ```\n\n### Database \u0026 Backend\n- See [backend.md](./backend.md) for backend setup and migration instructions.\n\n### DevOps \u0026 Deployment\n- See [devops.md](./devops.md) for infrastructure and deployment instructions.\n\n---\n\n## Contributing\nWe welcome contributions from the community! Please read our [contributing guidelines](./CONTRIBUTING.md) before submitting a pull request.\n\n---\n\n## License\nThis project is licensed under the MIT License. See [LICENSE](./LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frainernsa%2Fphcityrent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frainernsa%2Fphcityrent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frainernsa%2Fphcityrent/lists"}