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. π
- 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. π
- 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. βοΈ
- 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:
- Tried cloud mock APIs for data retrieval and testing, replacing local JSON data. βοΈ
- Fixed several bugs, including those caused by page navigation issues. π
- 26/08/2024:
- Deployed this project to AWS Cloud using Nginx and AWS Linux. βοΈ
- 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. π