TourMate is a comprehensive tour guide web application designed to help tourists efficiently plan their trips in a cost-friendly and time-saving manner. The platform provides route recommendations, hotel suggestions, and detailed information about various places to visit.
TourMate generates a detailed schedule for trips, including accommodations, meal suggestions, and recommended restaurants along the route.
- Personalized Route Planning : Create optimized itineraries tailored to individual preferences.
- Hotel Recommendations : Get a list of nearby accommodations based on budget, ratings, and proximity.
- Place Details : Explore detailed descriptions, ratings, and reviews of tourist spots.
- Time Management : Prioritized schedules to make the most of the trip duration.
Frontend
- HTML, CSS, JavaScript : For a responsive and interactive user interface.
- React.js : Modern web framework for dynamic and scalable UI components.
Backend
- Spring Boot : For RESTful APIs and server-side logic.
Database
- MySQL : To store user data, places, hotels, and routes information.
APIs
- Open Street Map API: For route planning and geolocation services.
- Booking.com API : For Hotels details
- Travel Advisor : For Attractions and Restaurants details
Prerequisites
- Java 11+
- Node.js
- MySQL
- Clone the repository
git clone https://github.com/cepdnaclk/e20-CO227-TourMate- Open repository directory
cd e20-CO227-TourMate- Database Configuration
- Update the application.properties file in the backend/src/main/resources with your database credentials.
- run the sql scripts provided in assests/sql/
- Backend Setup
Navigate to the backend directory.
cd backendBuild and run the Spring Boot application
./mvnw spring-boot:run- Frontend Setup
Navigate to the frontend directory.
cd frontendInstall dependencies and start the development server:
npm install
npm starttourmate/
├── backend/
│ ├── src/
│ │ ├── main/
│ │ └── test/
│ └── pom.xml
├── frontend/
│ ├── src/
│ ├── public/
│ └── package.json
├── docs
├── README.md
For inquiries, suggestions, or issues, feel free to reach out: Email1 Email2