Six Cities is a sophisticated web application tailored for travelers seeking budget-friendly accommodation. It offers an efficient solution for finding rental properties in six popular cities. Developed with a modern tech stack, the service stands out with its user-friendly interface and detailed property listings.
The Six Cities app provides a seamless experience for users to browse and choose rental accommodations. It features a variety of pages including Main, Login, Favorites (private), and Offer, each with unique functionalities:
- Main Page: Showcases a list of cities and rental offers, with an interactive map and sorting options.
- Login Page: Handles user authentication.
- Favorites Page: Displays user-favorited listings, accessible only to authenticated users.
- Offer Page: Offers detailed information about each rental property.
Additionally, the app handles undefined routes with a custom 404 page, enhancing the user experience.
- Authentication: Manages user sessions and access to private pages.
- Dynamic Listing: Updates rental offers and map markers based on the selected city.
- User Reviews: Allows authenticated users to post reviews on rental properties.
- Favorites Management: Enables users to add or remove properties from their favorites.
- React & React DOM: For building the user interface.
- Redux Toolkit & React Redux: For efficient state management.
- Axios: For making HTTP requests.
- Leaflet: To integrate interactive maps.
- React Router DOM: For app routing and navigation.
- Vite: For efficient bundling and development.
- TypeScript: Ensuring type safety.
- ESLint: Maintaining code quality.
- Jest & Testing Library: For thorough testing of components and functionalities.
This project is licensed under the ISC License.