Logo Lanfrica

Samuel3310/Ezyrent_task

Domain:

socioeconomic

Record type:

software
Creator:
Sam
Host:
Simplifying real estate across Nigeria. EzyRent connects you with verified apartments, studios, and duplexes in top cities like Lagos, Abuja, and Port Harcourt. Browse with confidence and rent with ease. # EzyRent Task - Rental Property Finder A modern, responsive web application for finding rental properties in Nigeria. Built with React 19, TypeScript, and Tailwind CSS v4. ## 🚀 Key Features - **Property Listing**: Browse a curated list of rental properties with high-quality images and details. - **Advanced Filtering**: Filter properties by city and price range to find the perfect match. - **Dynamic Sorting**: Sort listings by price (Low to High, High to Low). - **Responsive Design**: Fully responsive interface optimized for mobile, tablet, and desktop devices. - **Detailed Views**: Dedicated property details page with comprehensive information. - **Simulated Backend**: Includes loading states and mock data processing to mimic real-world application behavior. ## 🛠️ Tech Stack & Key Decisions ### **Core Framework** - **React 19 + Vite**: Chosen for lightning-fast development server (HMR) and optimized production builds. - **TypeScript**: Implemented for strict type safety, reducing runtime errors and improving developer experience with intellisense. ### **Styling & UI** - **Tailwind CSS v4**: Utilized for a utility-first approach, enabling rapid UI development and easy maintenance of a consistent design system. - **React Icons**: Lightweight icon library for consistent SVG iconography. ### **State Management & Routing** - **React Router v7**: Handles client-side routing for seamless navigation between the Home page and Property Details page. - **Local State (useState/useMemo)**: Application state (filters, sorting, loading) is managed locally within the `HomePage` to keep the architecture simple and performant without the overhead of global state management libraries (Redux/Context) for this scope. - **Mock Data Layer**: A structured data file (`src/data/properties.ts`) acts as the database, allowing for easy transitions to a real API in the future. ### **User Experience (UX)** - **Loading & Empty States**: specialized components (`LoadingState`, `EmptySt …