Help tourists find the best times to visit local attractions to avoid large crowds and long wait times.
- Crowd Prediction: Analyze historical data to predict crowd levels
- Optimal Timing: Get recommendations for the best times to visit
- Real-time Updates: Live crowd level information
- Alternative Suggestions: Find less crowded alternatives
- Interactive Maps: Visualize attraction locations and crowd patterns
- Node.js & Express.js
- PostgreSQL with Sequelize ORM
- JWT Authentication
- Google Places API integration
- Weather API integration
- React with TypeScript
- Tailwind CSS for styling
- React Query for state management
- React Router for navigation
- Chart.js for data visualization
-
Clone the repository
git clone <repository-url> cd Tourist_Untrap
-
Install dependencies
npm run install-all
-
Set up environment variables
- Copy
.env.exampleto.envin bothbackend/andfrontend/directories - Add your API keys and database configuration
- Copy
-
Set up the database
cd backend npm run db:setup -
Start development servers
npm run dev
- Backend: Runs on
http://localhost:5000 - Frontend: Runs on
http://localhost:3000 - Database: PostgreSQL on
localhost:5432
Tourist_Untrap/
├── backend/ # Express.js API server
├── frontend/ # React TypeScript application
├── docs/ # Documentation
└── README.md
Instructions for deploying to production will be added here.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
MIT License - see LICENSE file for details