Skip to content

nitheesh-cpu/QuirlQuest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TripSync 🌎✈️

A gamified budgeting app that helps you save for your dream trips by tracking spending habits and providing AI-powered insights.

✨ Features

  • AI Trip Planning - Generate personalized itineraries with cost estimates
  • Smart Budgeting - Track spending and see how it impacts your travel goals
  • Gamification - Earn XP, complete quests, and unlock rewards
  • Social Leaderboards - Compete with friends on savings goals
  • Flight Price Tracking - Monitor prices with AI predictions via Amadeus API
  • Bank Integration - Connect accounts via Plaid for automatic transaction sync

🛠️ Tech Stack

Layer Technology
Frontend React + TypeScript + Vite
Styling TailwindCSS + Framer Motion
Backend FastAPI (Python)
Database Supabase (PostgreSQL)
Auth Supabase Auth
Banking Plaid API
Flights Amadeus API
AI Google Gemini
Images Unsplash API

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • Python 3.10+
  • Supabase project
  • API keys for: Plaid, Amadeus, Gemini, Unsplash

Frontend

cd frontend
npm install
npm run dev

Runs on http://localhost:5173

Backend

cd backend
pip install -r requirements.txt
python main.py

Runs on http://localhost:8000

🔐 Environment Variables

Create .env in project root:

# Supabase
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_anon_key

# Plaid
PLAID_CLIENT_ID=your_plaid_client_id
PLAID_SECRET=your_plaid_secret
PLAID_ENV=sandbox

# Amadeus (Flights)
AMADEUS_CLIENT_ID=your_amadeus_id
AMADEUS_CLIENT_SECRET=your_amadeus_secret

# Google Gemini (AI)
GEMINI_API_KEY=your_gemini_key

# Unsplash (Images)
UNSPLASH_ACCESS_KEY=your_unsplash_key

# Capital One Nessie (Mock Banking)
NESSIE_API_KEY=your_nessie_key

Frontend .env (frontend/.env):

VITE_API_BASE=http://localhost:8000

📁 Project Structure

tamuhack26/
├── frontend/           # React + Vite app
│   ├── src/
│   │   ├── pages/      # Page components
│   │   ├── components/ # Reusable UI components
│   │   ├── context/    # React context providers
│   │   └── lib/        # Utilities
│   └── public/
├── backend/
│   ├── app/
│   │   ├── main.py     # FastAPI app entry
│   │   ├── routers/    # API route handlers
│   │   ├── services/   # Business logic & external APIs
│   │   └── dependencies.py
│   └── requirements.txt
└── supabase/           # Database migrations

🔌 API Endpoints

Endpoint Description
POST /auth/login User authentication
GET /user/profile Get user profile & stats
POST /trip/create Create a new trip goal
GET /trip/itinerary Generate AI itinerary
GET /insights/analyze AI spending analysis
GET /gamification/quests Get active quests
GET /social/leaderboard Friend leaderboard
GET /shop/rewards Available rewards

🚢 Deployment

Frontend (Vercel)

  1. Import repo in Vercel
  2. Set root directory to frontend or use root vercel.json
  3. Add env var VITE_API_BASE pointing to your backend URL
  4. Deploy

Backend (Railway/Render)

  1. Deploy backend/ folder
  2. Set all environment variables
  3. Ensure CORS allows your Vercel frontend origin

👥 Team

Built at TAMUhack 2026 🤘

📄 License

MIT

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •