Discover Nature. Plan Adventures. Connect Outdoors.
EcoHub AI is a full-stack outdoor social platform that helps users discover scenic spots worldwide, organize meetups, join outdoor communities, chat in real-time, and generate personalized travel plans — all powered by AI.
- Browse global scenic spots by category — Mountains, Beaches, Heritage Sites, Temples, and more
- Search and filter destinations by difficulty, rating, and best season
- View detailed spot profiles with travel tips, safety info, and serenity scores
- Nearby recommendations for restaurants, cafes, and attractions
- Rate spots (1–5 stars) and write reviews with photos
- AI-powered review summarization — get the gist of all reviews instantly
- Join 15+ outdoor communities (Hiking, Photography, Eco-Volunteering, Trail Running, etc.)
- Post, comment, and like within communities
- Organize meetups — set location, time, and participant limits
- Get notified when someone joins, comments, or invites you
- WebSocket-powered group chat for meetups
- AI Travel Assistant chatbot built-in — ask anything about travel
- Generate day-by-day itineraries for any destination
- Customize by duration, pace (relaxed/moderate/fast), and interests
- 6 quick templates: Weekend Getaway, Adventure, Cultural, Romantic, Wildlife, Family
- Multi-provider AI fallback: DeepSeek → Qwen → Hunyuan
- Real-time weather + 7-day forecast + weekend outlook
- GPS location tracking and check-in system
- IP-based geolocation for tailored content
- Dashboard with user statistics, spot popularity, meetup trends
- Event tracking and suggestion interaction analytics
- JWT authentication (access + refresh tokens)
- Rate limiting, request logging, CORS protection
- Production-ready with HSTS, SSL, and CSP headers
| Layer | Technology |
|---|---|
| Backend | Django, Django REST Framework, Django Channels |
| Frontend | Vue 3 (Composition API), Vite, Pinia, Vue Router |
| Database | MySQL 8.4 (production) / SQLite (dev) |
| Cache | Redis 7.4 |
| Async | Celery, Daphne (ASGI) |
| AI/LLM | DeepSeek, Qwen, Hunyuan (multi-provider fallback) |
| Real-Time | WebSocket (Django Channels + channels_redis) |
| Maps | Leaflet, Baidu Maps, AMap, Google Maps |
| Media | Pexels API, Pixabay API |
| Weather | OpenWeatherMap API |
| Deploy | Docker Compose, Nginx |
EcoHub AI/
├── backend/
│ ├── apps/
│ │ ├── users/ # Custom user model & auth
│ │ ├── interests/ # Interest tags
│ │ ├── spots/ # Scenic spots & destinations
│ │ ├── reviews/ # Spot ratings & reviews
│ │ ├── meetups/ # Outdoor meetup organization
│ │ ├── communities/ # Outdoor interest communities
│ │ ├── posts/ # Community posts, comments, likes
│ │ ├── chat/ # WebSocket real-time chat
│ │ ├── notifications/ # Push notifications (7 types)
│ │ ├── weather/ # Weather data & forecasts
│ │ ├── ai_engine/ # AI trip planner & summarizer
│ │ ├── recommendation_engine/ # Personalized recommendations
│ │ ├── analytics/ # Platform statistics
│ │ └── platform_api/ # Unified API layer
│ ├── config/ # Django settings
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── views/ # 6 core page components
│ │ ├── composables/ # Reusable logic hooks
│ │ └── stores/ # Pinia state management
│ └── package.json
├── docker-compose.yml
├── Makefile
└── README.md
- Python 3.10+
- Node.js 18+
- MySQL 8.4 (or SQLite for development)
- Redis (optional, for production features)
# Clone the repo
git clone https://github.com/simul49/EcoHub-AI.git
cd EcoHub-AI
# Backend
cd backend
pip install -r requirements.txt
cp .env.example .env # Edit .env with your config
python manage.py migrate
python manage.py seed_data # Creates admin user + sample data
python manage.py runserver
# Frontend (new terminal)
cd frontend
npm install
npm run dev| Field | Value |
|---|---|
| Username | admin |
| Password | admin123 |
docker-compose up -d
# Backend: http://localhost:8000
# Frontend: http://localhost:8080| Endpoint | Description |
|---|---|
POST /api/auth/login/ |
JWT login |
POST /api/auth/register/ |
User registration |
GET /api/spots/ |
List scenic spots |
GET /api/spots/{id}/ |
Spot details with reviews |
POST /api/reviews/ |
Submit a review |
GET /api/meetups/ |
Browse meetups |
POST /api/meetups/ |
Create a meetup |
GET /api/communities/ |
List communities |
GET /api/weather/current/ |
Current weather |
POST /api/ai/planner/ |
AI trip plan generation |
GET /api/analytics/dashboard/ |
Platform stats |
django vue3 rest-api ai travel-planner outdoor-adventures websocket redis mysql docker llm deepseek pinia social-platform leaflet weather-api community meetups
This project is created as a final year academic project.
Built with ❤️ for nature lovers, hikers, and adventurers.
