An AI-powered travel planning application for exploring the Philippines. Built with React, FastAPI, and Google Gemini.
- AI Chat Interface - Plan your trip through natural conversation
- Smart Itineraries - AI-generated day-by-day travel plans
- Interactive Maps - Visualize your journey across Philippine destinations
- Frontend: React 19 + TypeScript + Vite + Tailwind CSS + TanStack Router
- Backend: FastAPI + Python 3.11 + SQLModel + asyncpg
- Database: PostgreSQL (Supabase)
- AI: Google Gemini + LangChain
- Auth: Supabase Auth
- Node.js 18+
- Python 3.11+
- Git
git clone <repo-url>
cd ph-travel-appcd backend
python -m venv venv
# Windows
venv\Scripts\activate
# Mac/Linux
# source venv/bin/activate
pip install -r requirements.txt
cp .env.example .envEdit backend/.env with your API keys (see SETUP.md for details).
# Run migrations
alembic upgrade head
# Start server
uvicorn app.main:app --reloadcd frontend/atla
npm install
cp .env.example .envEdit frontend/atla/.env with your Supabase credentials.
npm run dev- Frontend: http://localhost:5173
- API Docs: http://localhost:8000/docs
- SETUP.md - Complete setup instructions with API keys
- docs/CONTRIBUTING.md - How to contribute
- docs/BRANCHING.md - Git workflow & branch naming
- docs/COMMITS.md - Commit message conventions
- docs/PULL_REQUESTS.md - PR process
- AGENTS.md - AI agent guidelines & code style
- ARCH.md - System architecture
cd backend
alembic revision --autogenerate -m "Description" # Create migration
alembic upgrade head # Apply migrations
pytest # Run tests
black app/ # Format code
ruff check app/ # Lint codecd frontend/atla
npm run dev # Start dev server
npm run build # Production build
npm run typecheck # TypeScript check
npm run lint # ESLintWe welcome contributions! Please read our Contributing Guide to get started.
Quick summary:
- Branch from
main:git checkout -b feat/your-feature - Follow Conventional Commits
- Create a Pull Request
- Ensure CI passes (build + type check)