Discover the best of Uganda. Tell us what you like, and we'll plan the perfect trip for you. From gorilla trekking to relaxing by the lake, find your ideal destination.
# AI-powered Tourism Recommendation System for Uganda
## Project Overview
An intelligent web application that provides personalized Ugandan tourism destination recommendations using Google Gemini AI. Users input their travel preferences in natural language and receive up to 6 relevant destination suggestions with detailed information.
**Team:** Group Eight - Computer Science Department
**Technology:** Google Gemini API (Free Tier), React.js, Node.js/Express
---
## Features
- 🤖 AI-powered natural language query processing
- 🗺️ 25 curated Uganda tourism destinations
- 🎯 Personalized recommendations based on:
- Budget (Low/Medium/High)
- Activity preferences (Wildlife, Adventure, Cultural, etc.)
- Trip duration
- Regional preferences
- 💅 Modern, responsive UI with Tailwind CSS
- ⚡ Fast React + Vite frontend
- 🔒 Secure API key management
---
## Tech Stack
### Frontend
- **Framework:** React 18 with Vite
- **Styling:** Tailwind CSS
- **HTTP Client:** Fetch API
### Backend
- **Runtime:** Node.js
- **Framework:** Express.js
- **AI Integration:** Google Generative AI SDK
- **Data Storage:** Static JSON file
---
## Project Structure
```
uganda-tourism-mvp/
├── backend/
│ ├── server.js # Express server & AI integration
│ ├── destinations.json # Tourism destinations data
│ ├── package.json # Backend dependencies
│ └── .env # Environment variables
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── SearchForm.jsx
│ │ │ └── RecommendationCard.jsx
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ └── index.css
│ ├── package.json
│ ├── index.html
│ ├── vite.config.js
│ ├── tailwind.config.js
│ └── postcss.config.js
├── plan.txt # Detailed project specification
└── README.md
```
---
## Setup Instructions
### Prerequisites
- Node.js (v16 or higher)
- npm or yarn
- Google Gemini API key (Get it here)
### 1. Clone/Navigate to Project Directory
```bash
cd "d:\BCS 2 SEM 2\ …