A comprehensive real-time tourist safety monitoring and management system with AI-powered assistance, GPS tracking, emergency response, and IoT integration.
- SAICHARAN1189 - Lead Developer - @SAICHARAN1189
- DurPunam - Project Owner - @DurPunam
See CONTRIBUTORS.md for detailed contributions.
git clone https://github.com/DurPunam/smarttourist.git
cd smarttourist
npm install
cd backend && npm install && cd ..
cp backend/.env.template backend/.env
# Add your API keys to backend/.env
npm run devAccess: http://localhost:3000
Connect your mobile to same WiFi and access: http://YOUR_IP:3000
- Tourist: tourist@test.com / password123
- Admin: admin@test.com / admin123
- Police: police@test.com / police123
- ✅ Authentication - JWT-based with auto-refresh
- ✅ Real-time GPS Tracking - Live location monitoring
- ✅ AI Chatbot - Google Gemini integration
- ✅ Weather Integration - OpenWeather API with safety alerts
- ✅ Emergency SOS - Hold-to-activate panic button
- ✅ Police Dashboard - Alert monitoring and response
- ✅ Admin Dashboard - System management
- ✅ IoT Monitoring - Device health and status
- ✅ Multi-language - 10 Indian languages supported
- Interactive Leaflet.js maps
- Dynamic nearby places (5-20km radius)
- Heatmap visualization
- Geofencing (500m, 1km zones)
- Real-time updates every 30 seconds
- Filter by type (tourists, police, hospitals)
- Real-time GPS tracking
- Emergency SOS button (hold 3 seconds)
- Safety score display
- Emergency contacts with quick dial
- Nearby alerts and warnings
- Health status monitoring
- Weather with travel safety
Frontend:
- React 18, TypeScript, Vite
- Tailwind CSS, Radix UI, Shadcn/ui
- Leaflet.js, Framer Motion
- React Router v6, Axios
Backend:
- Node.js, Express.js
- SQLite (dev), Sequelize ORM
- JWT, bcrypt, Socket.io
- helmet, cors, express-validator
External APIs:
- Google Gemini AI
- OpenWeather API
- OpenStreetMap Overpass API
- Google Maps API
Create backend/.env with:
# AI Chatbot
GEMINI_API_KEY=your_gemini_api_key
# Weather
OPENWEATHER_API_KEY=your_openweather_key
# Google Maps (optional)
GOOGLE_MAPS_API_KEY=your_google_maps_keyGet API Keys:
- Google Gemini: https://makersuite.google.com/app/apikey
- OpenWeather: https://openweathermap.org/api (FREE)
- Google Maps: https://console.cloud.google.com/
POST /api/auth/register- RegisterPOST /api/auth/login- LoginPOST /api/auth/refresh- Refresh token
GET /api/weather/current?lat={lat}&lon={lon}- Current weatherGET /api/weather/forecast?lat={lat}&lon={lon}- ForecastGET /api/weather/safety?lat={lat}&lon={lon}- Safety check
GET /api/tourists- Get all touristsPOST /api/tourists/me/location- Update locationPOST /api/tourists/me/emergency- Send SOS
Contributions welcome! Please:
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
MIT License - see LICENSE file for details
- Open an issue on GitHub
- Contact: @SAICHARAN1189
- OpenStreetMap for map data
- OpenWeather for weather API
- Google for Gemini AI
- Leaflet.js for mapping
- Shadcn/ui for UI components
Made with ❤️ by SAICHARAN1189
Repository: https://github.com/DurPunam/smarttourist