Skip to content
/ rbnb Public

🏠[React] Rbnb is a React practice project inspired by Airbnb's official website. 🌟[For coding practice purpose only]

Notifications You must be signed in to change notification settings

Abyods-cd/rbnb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Rbnb - A React Practice Project Inspired by Airbnb's Official Website

Project Overview

Rbnb is a React application inspired by Airbnb's official website, designed to help users explore and book accommodations. The project leverages React 18 and modern web technologies to deliver a responsive and interactive experience. 🌟

Key Features

  • Routing: Implemented with React Router, enabling smooth navigation across the application. πŸ—ΊοΈ
  • State Management: Managed using Redux for consistent application state. πŸ“¦
  • Home Page: Includes sections for past experiences, a reusable Carousel component, and a Share Panel component. 🏑
  • Detail Page: Displays detailed accommodation information and an image gallery. πŸ–ΌοΈ
  • Data Handling: Transitioned from local JSON data to four cloud mock APIs for dynamic data retrieval.
  • Migrated from local JSON files to a PostgreSQL database for dynamic data management. 🌐

Technical Stack

  • React 18: The core library for building the user interface, utilizing the latest features for improved performance and user experience. βš›οΈ
  • Redux: For managing global state and application data flow. πŸ”„
  • React Router: For routing and navigation throughout the app. πŸšͺ
  • Styled-Components: For component-level styling with CSS-in-JS. 🎨
  • Axios: For making HTTP requests and handling API interactions. 🌍
  • Component Libraries: Utilizing both Ant Design and MUI (Material-UI) for a rich set of high-quality UI components. πŸ—οΈ
  • Postman: Used for API testing, enhancing the development workflow and data simulation. πŸ§ͺ
  • Craco: For customizing the Create React App configuration. βš™οΈ

Project Screenshots

Home Page

Home Page

Share Panel

Share Panel

Detail Page - V1

Detail Page - V1

Detail Page - V2

Detail Page - V2

Development Log

  • 20/08/2024: Created project and did some initial setup. πŸ› οΈ
  • 21/08/2024: Completed Header and Footer; used local iconData.json for testing Home Page's item display. πŸ“„
  • 22/08/2024: Added past experiences section to Home Page; created a reusable Carousel component and Share Panel component. πŸ”„
  • 23/08/2024: Finished Home Page's footer; started working on Detail page and completed image display section. πŸ–ΌοΈ
  • 24/08/2024: Completed Detail Page. βœ…
  • 25/08/2024:
    1. Tried cloud mock APIs for data retrieval and testing, replacing local JSON data. ☁️
    2. Fixed several bugs, including those caused by page navigation issues. πŸ›
  • 26/08/2024:
    1. Deployed this project to AWS Cloud using Nginx and AWS Linux. ☁️
    2. Implemented continuous integration (CI) with Jenkins to automatically monitor Git repository changes and trigger rebuilds. πŸ”§
  • 14/09/2024: Transitioned from using Apifox for API mocking to fully integrating real-time data handling via Flask and PostgreSQL for a more robust backend solution. 🌐

About

🏠[React] Rbnb is a React practice project inspired by Airbnb's official website. 🌟[For coding practice purpose only]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published