A modern React/Next.js application for managing and analyzing guest reviews across multiple properties, developed as part of the Flex Living developer assessment.
- Node.js 18+
- npm, yarn, or pnpm
-
Clone the repository
git clone <repository-url> cd Project_Flex
-
Install dependencies
npm install # or yarn install # or pnpm install
-
Start the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser Navigate to http://localhost:3000
- API Route:
GET /api/reviews/hostaway- Fetches and normalizes review data - Data Normalization: Transforms Hostaway API response into consistent format
- Mock Implementation: Uses provided JSON data structure for realistic testing
- Review Parsing: Organized by listing, review type, channel, and date
- Modern Interface: Clean, intuitive dashboard built with Next.js and Tailwind CSS
- Property Performance: Individual property analytics and ratings overview
- Advanced Filtering: Sort and filter by rating, property, date, category, channel
- Trend Analysis: AI-powered identification of recurring issues and patterns
- Review Approval: Select which reviews appear on public website
- Bulk Management: Approve/reject multiple reviews efficiently
- Public Interface: Customer-facing review showcase at root route (
/) - Approval System: Only displays manager-approved reviews
- Clean Layout: Consistent design with property listing aesthetic
- Responsive Design: Mobile-first approach for all devices
- API Investigation: Comprehensive analysis of Google Places API integration
- Implementation Feasibility: Documented challenges and requirements
- Cost Analysis: Detailed breakdown of API costs and rate limits
- Future Roadmap: Strategic plan for Phase 2 implementation
src/
├── app/ # Next.js App Router pages
│ ├── api/ # API endpoints (required assessment deliverable)
│ │ └── reviews/
│ │ ├── hostaway/ # GET /api/reviews/hostaway (tested endpoint)
│ │ └── approve/ # Review approval management
│ ├── dashboard/ # Manager dashboard interface
│ └── page.tsx # Public reviews display page
├── components/ # Reusable UI components
│ ├── ReviewCard.tsx # Individual review display
│ ├── ReviewFiltersPanel.tsx # Advanced filtering controls
│ └── ... # Additional dashboard components
├── types/ # TypeScript definitions
├── utils/ # Business logic and data normalization
└── data/ # Mock data and approval storage
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript checks
- Per-property performance analytics
- Advanced filtering by rating, category, channel, time
- Trend analysis and recurring issue detection
- Review approval workflow for public display
- Displays only manager-approved reviews
- Clean, modern interface consistent with property websites
- Responsive design for optimal user experience
- Required endpoint for assessment testing
- Fetches and normalizes Hostaway review data
- Returns structured, usable data for frontend consumption
- Handles mock data based on provided JSON structure
- Framework: Next.js 14 with App Router
- Frontend: React 18, TypeScript
- Styling: Tailwind CSS
- Icons: Heroicons
- Date Handling: date-fns
- API Integration: Hostaway Reviews API (mocked for assessment)
For detailed technical documentation, architecture decisions, Google Reviews exploration, and assessment compliance, see ASSESSMENT_DOCUMENTATION.md.
- Account ID: 61148
- API Key: f94377ebbbb479490bb3ec364649168dc443dda2e4830facaf5de2e74ccc9152
- Implementation: Currently mocked due to sandbox limitations
- Data Source: Uses provided JSON structure for realistic testing
GET /api/reviews/hostaway- Main assessment endpoint (tested)POST /api/reviews/approve- Review approval managementGET /api/reviews/approve- Approval status retrieval
✅ Real-world JSON handling: Comprehensive data normalization
✅ Code clarity: TypeScript, clean architecture, documented decisions
✅ UX/UI quality: Modern dashboard with intuitive design
✅ Dashboard insights: Analytics, trends, performance tracking
✅ Problem-solving: Thoughtful solutions for ambiguous requirements
✅ Source code (frontend and backend)
✅ Local setup instructions (this README)
✅ Technical documentation (ASSESSMENT_DOCUMENTATION.md)
✅ API route implementation (/api/reviews/hostaway)
✅ Google Reviews exploration and findings
Developer: tomcgeorge.uk@gmail.com
Assessment: Flex Living Developer Assessment
Completion Date: October 2025
Total Implementation Time: ~8 hours
- Hostaway Integration (Mocked) ✅ Complete
- Manager Dashboard ✅ Complete
- Review Display Page ✅ Complete
- Google Reviews Exploration ✅ Complete (Documented)
- API Implementation ✅ Complete (
/api/reviews/hostawayready for testing) - Documentation ✅ Complete
For questions about this assessment implementation, please contact tomcgeorge.uk@gmail.com