Trek-Planner is a travel itinerary generator that allows users to create, modify, and save travel plans. It utilizes the Foursquare API and OpenCage API to find tourist attractions based on user input and offers various features like user authentication, blog writing, and viewing nearby tourist places using Leaflet maps.
- User authentication
- Trail verification generator based on user input (city name, days count, type of places to visit)
- Plan generation and modification
- Save and view travel plans
- Interactive maps using Leaflet
- Blog writing and viewing other blogs
- Find nearby tourist places using the browser's location feature
- Add places to a new or existing plan
- Frontend: React
- Backend: FastAPI
- APIs: Foursquare API, OpenCage API
- Databases: MySQL, MongoDB
- Mapping: Leaflet
- Node.js and npm
- Python 3.8+
- MySQL
- MongoDB
git clone https://github.com/santhosh-vairamuthu/trek-planner.git
cd trek-planner
cd backend
pip install -r requirements.txt
Edit backend/api/config.json
to add your OpenCage API key and Foursquare authorization header.
Edit backend/app/configs/localconfig.py
to add your MySQL connection details.
Edit backend/app/models/__init__.py
to add your MongoDB connection details.
uvicorn main:app --reload
cd frontend
npm install
npm start
- Open your browser and navigate to
http://localhost:3000
to access the frontend. - Use the provided interface to sign up or log in.
- Input your desired city, number of days, and types of places you wish to visit.
- Generate your travel plan and modify it as needed.
- Save your plan, write blogs, and explore nearby tourist attractions.
The application supports user registration and login, ensuring that each user's data is secure and personalized.
Users can input their desired city, the number of days they plan to stay, and the types of places they wish to visit. The application uses this input to generate a customized itinerary.
The generated plan can be modified by the user to better suit their preferences. Users can add or remove places, change the order of visits, and save the plan for future reference.
The application integrates Leaflet to provide interactive maps. Users can view the locations of tourist attractions on the map, making it easier to plan their visits.
Users can write blogs about their travel experiences and read blogs written by other users. This feature enhances community engagement and provides valuable insights for future travelers.
Using the browser's location feature, the application can find nearby tourist places and allow users to add them to their new or existing plans.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
Feel free to fork this project, make improvements, and submit pull requests. We welcome contributions from the community to make this project even better!
- Thanks to Foursquare and OpenCage for their APIs.
- Special thanks to all contributors and users.