Welcome to the Tour Page project! I'm Bartu Çakır, and this project is part of my journey to enhance my skills in full stack development. Utilizing technologies like React, Redux, React Router v6, TypeScript, RSuite, Framer Motion, SCSS, Node.js, Express, and MongoDB, I've crafted an interactive and dynamic tour experience.
- React
- Redux
- React Router v6
- TypeScript
- RSuite
- Framer Motion
- SCSS
- Node.js
- Express
- MongoDB
- Redux Toolkit Query
Explore the live demo here.
In this project, I've concentrated on refining my full stack development skills. The use of cutting-edge technologies allows for a seamless and engaging user experience. From user login to reservation and payment processes, this project encapsulates various features to simulate a real-world tour page.
- Implemented secure user authentication and authorization using Node.js, Express, and MongoDB.
- Users can register, log in, and log out securely.
- Created a dedicated page displaying comprehensive tour information, including descriptions, dates, prices, and captivating images.
- Users can select a tour, make reservations, and complete the payment process, with all data stored in the MongoDB database.
- Reservation and payment records can be viewed and deleted from the user profile.
- Integrated options to filter the tour list based on criteria such as price and city, providing users with a tailored browsing experience.
- When filtering is applied, the filtered value is added to the page's URL using
searchParams
, and upon reopening the page with that URL, the filtering is re-applied.
- Implemented a search bar at the top right, allowing users to easily search for tours.
- Tours are dynamically filtered based on the letters entered, with matching results displayed below the search bar.
- Users can enjoy a personalized experience by bookmarking tours after logging in.
- Favorite tours are stored in the backend, providing a persistent user experience.
- Node.js, Express, MongoDB API: Implemented a robust backend to handle data storage and retrieval.
- Redux Toolkit Query: Used for efficient state management and data fetching.
- Custom Error Handling: Implemented to enhance user experience and debugging.
- Users can view and delete their reservations and payments from their profile.
- Favorite tours are connected to the backend, providing a persistent user experience.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.