Skip to content

A city tour booking platform with user auth, tour search, filtering, and a booking cart. Includes an admin dashboard for managing tours, bookings, and team with data visualization, and tour management and scheduling, backed by a PostgreSQL database.

Notifications You must be signed in to change notification settings

liuladniak/citygo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CityGo Travel Booking App

The app addresses the common challenges travelers encounter when planning city tours, such as cumbersome booking processes and unclear navigation. By providing a streamlined user experience, the app ensures secure user management and simplifies the booking journey. With CityGo, travelers can easily discover and book their ideal city tours, making their travel planning efficient and enjoyable.


🏛 Features Implemented

  • User Authentication: Secure user access with JWT-based authentication using Node.js and Express.
  • Shopping Cart Management: Easily review and manage selected tours with Redux for efficient state management.
  • Tour Filtering: Filter tours by location, duration, and price using React Hooks for seamless state handling.
  • Quick Tour Search: Find specific tours with keyword search, powered by Elasticsearch.
  • Booking Process: Guided booking for dates and group sizes, implemented with React Router.
  • Interactive Availability Calendar: Visual calendar for selecting available dates using a custom React component.
  • Responsive Design: Optimized for mobile and desktop devices with CSS Grid and Flexbox.
  • Database Integration: Efficient data storage and retrieval using PostgreSQL with Knex.js.
  • Interactive Tour Map: Visualize tour locations on an interactive map powered by the Leaflet Maps API.

🎥 Demo

Check out the live demo, while it's still work in progress, feel free to share your feedback or suggestions:


🛠️ Features in Progress

  • User Comments: Enable users to leave feedback and reviews.
  • Currency Converter: Convert prices into different currencies for a global user base.
  • Google Authentication: Simplified sign-in using Google accounts.
  • Stripe Checkout: Secure payment processing via Stripe integration.
  • Enhanced Map Functionality: Improved map features for enhanced navigation.
  • AI-Powered Recommendations: Personalized tour suggestions using AI for tailored experiences.

📈 Next Steps

The focus is on continuously improving the CityGo app’s user experience by adding more features that make booking smoother and more valuable. Feedback is highly appreciated to help enhance this feature-rich travel booking app.


💼 Dashboard / Admin Panel

The CityGo Dashboard is an admin panel for managing the backend of the CityGo Travel Booking app. This dashboard allows administrators to perform key tasks such as managing tours, assigning tasks, viewing bookings, and analyzing booking activity. It features secure login for admin users, role-based access controls, and an easy-to-navigate interface built with React and Redux for efficient state management.

The dashboard integrates with the same PostgreSQL database as the main app, ensuring seamless synchronization of data. Admin users can update tour details, manage user accounts, and monitor bookings through a clean and intuitive UI.


Project Setup

Instructions are comming soon

About

A city tour booking platform with user auth, tour search, filtering, and a booking cart. Includes an admin dashboard for managing tours, bookings, and team with data visualization, and tour management and scheduling, backed by a PostgreSQL database.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published