Skip to content

Repository files navigation

alx-listing-app-00

Project Description

This project involves building a responsive property listing page using React, TypeScript, and Tailwind CSS. The application will display a collection of luxury properties with filtering capabilities, a hero section, and proper layout organization. The page will be fully responsive, adapting to different screen sizes while maintaining a clean, user-friendly interface.

Learning Objectives

By completing this project, you will:

Implement responsive web design principles using Tailwind CSS Create reusable React components for layout (Header, Footer, Layout) Work with TypeScript interfaces for type safety Structure a Next.js application with proper component organization Render dynamic data from an array of objects Implement filtering functionality for property listings Practice best practices in component composition and styling Learn to break down UI mockups into logical components

Requirements

Technical Requirements

Use Next.js as the React framework Implement TypeScript for type checking Style components exclusively with Tailwind CSS Create responsive layouts that work on mobile, tablet, and desktop Structure components in a logical folder hierarchy Use functional components with proper TypeScript typing

Functional Requirements

Layout Components

Header with navigation, logo, and search Footer with relevant links and information Layout wrapper for consistent page structure

Home Page

Hero section with background image and call-to-action text Filter section with clickable filter pills Property listing grid displaying all properties from the sample data Responsive property cards showing key information

Data Management

Properly typed property data interface Sample data array with complete property information Best Practices

Component Organization

Follow a consistent folder structure Separate layout components from page components Keep components small and focused

Styling

Use Tailwind’s utility classes effectively Implement responsive design with mobile-first approach Maintain consistent spacing and typography

TypeScript

Define clear interfaces for all props Type all components and functions properly Use TypeScript to catch potential errors early

Performance

Optimize images for web

Implement proper loading states Consider lazy loading for non-critical components Accessibility

Use semantic HTML

Ensure proper contrast ratios Include alt text for images Make interactive elements keyboard-navigable

Expected Outcomes

A fully responsive property listing page Clean, maintainable code with proper TypeScript typing Reusable layout components Properly structured property data Functional filter components Visually appealing UI with consistent styling

📝 Project Assessment (Hybrid)

Your project will be evaluated primarily through manual reviews. To ensure you receive your full score, please:

✅ Complete your project on time 📄 Submit all required files 🔗 Generate your review link 👥 Have your peers review your work

An auto-check will also be in place to verify the presence of core files needed for manual review.

⏰ Important Note

If the deadline passes, you won’t be able to generate your review link—so be sure to submit on time!

We’re here to support your learning journey. Happy coding! ✨

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages