An open API service indexing awesome lists of open source software.

https://github.com/adityash8/jetpast

🚅 JetPast - FastTrack VIP Services. Skip the lines, arrive in style. Premium airport services at 500+ airports worldwide. Built with Next.js, TypeScript, Supabase & Stripe.
https://github.com/adityash8/jetpast

airport-services booking fast-track nextjs stripe supabase travel typescript vercel vip-services

Last synced: about 2 months ago
JSON representation

🚅 JetPast - FastTrack VIP Services. Skip the lines, arrive in style. Premium airport services at 500+ airports worldwide. Built with Next.js, TypeScript, Supabase & Stripe.

Awesome Lists containing this project

README

          

# 🚅 JetPast - FastTrack VIP Services

**Skip the lines, arrive in style.** Premium airport services at 500+ airports worldwide.

[![Next.js](https://img.shields.io/badge/Next.js-14-black?style=for-the-badge&logo=next.js)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)
[![Supabase](https://img.shields.io/badge/Supabase-2.38-green?style=for-the-badge&logo=supabase)](https://supabase.com/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.3-38B2AC?style=for-the-badge&logo=tailwind-css)](https://tailwindcss.com/)
[![Stripe](https://img.shields.io/badge/Stripe-14-635BFF?style=for-the-badge&logo=stripe)](https://stripe.com/)
[![Vercel](https://img.shields.io/badge/Vercel-000000?style=for-the-badge&logo=vercel)](https://vercel.com/)

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/adityash8/jetpast)
[![GitHub stars](https://img.shields.io/github/stars/adityash8/jetpast?style=social)](https://github.com/adityash8/jetpast)
[![GitHub forks](https://img.shields.io/github/forks/adityash8/jetpast?style=social)](https://github.com/adityash8/jetpast)

[🚀 Live Demo](https://jetpast.vercel.app) • [📖 Documentation](https://docs.jetpast.com) • [🐛 Report Bug](https://github.com/adityash8/jetpast/issues) • [✨ Request Feature](https://github.com/adityash8/jetpast/issues)

## 🎯 Overview

JetPast is a mobile-first platform that aggregates fragmented airport fast track, VIP, and meet & greet services from providers like Airssist, Blacklane, Marhaba, and others. Users can search by airport, airline, and class, view options with transparent pricing, book instantly, and receive confirmations with Apple Wallet integration.

### 🌟 Why JetPast?

- **⏰ Save 30-120 minutes** per airport visit
- **🌍 500+ airports** worldwide coverage
- **📱 Book in 3 taps** with mobile-first design
- **💰 Transparent pricing** with no hidden fees
- **🔒 Secure payments** via Stripe
- **📲 Apple Wallet** integration for seamless access

## ✨ Features

### 🎯 Core Features (MVP Ready)

| Feature | Status | Description |
|---------|--------|-------------|
| 🔍 **Search & Discovery** | ✅ Complete | Advanced search with filters for airport, service type, price, duration |
| 📋 **Service Details** | ✅ Complete | Comprehensive service info with reviews, inclusions, and pricing |
| 💳 **Booking Flow** | ✅ Complete | Full booking process with passenger details and payment integration |
| 🔐 **Authentication** | ✅ Complete | Email/password and OAuth (Google) sign-in/sign-up |
| 📱 **Responsive Design** | ✅ Complete | Mobile-first design optimized for all devices |
| 🗄️ **Database Schema** | ✅ Complete | Complete Supabase schema for users, services, bookings, reviews |

### 🚧 In Development

| Feature | Status | Description |
|---------|--------|-------------|
| 💰 **Stripe Integration** | 🚧 90% | Payment processing and booking confirmations |
| 📲 **Apple Wallet** | 🚧 70% | Pass generation and integration |
| 🤖 **AI Upsell** | 🚧 50% | Flight delay predictions and service recommendations |

### 📋 Roadmap

| Feature | Priority | Timeline |
|---------|----------|----------|
| 🏢 **B2B Dashboard** | High | Q2 2024 |
| 📱 **Mobile App** | High | Q2 2024 |
| 🔌 **Provider APIs** | Medium | Q3 2024 |
| ⚡ **Real-time Updates** | Medium | Q3 2024 |

## 🛠 Tech Stack

### Frontend
![Next.js](https://img.shields.io/badge/Next.js-14-black?style=flat-square&logo=next.js)
![React](https://img.shields.io/badge/React-18-61DAFB?style=flat-square&logo=react)
![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue?style=flat-square&logo=typescript)
![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.3-38B2AC?style=flat-square&logo=tailwind-css)

### Backend & Database
![Supabase](https://img.shields.io/badge/Supabase-2.38-green?style=flat-square&logo=supabase)
![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15-336791?style=flat-square&logo=postgresql)

### Payments & Services
![Stripe](https://img.shields.io/badge/Stripe-14-635BFF?style=flat-square&logo=stripe)
![Vercel](https://img.shields.io/badge/Vercel-000000?style=flat-square&logo=vercel)

| Category | Technology | Purpose |
|----------|------------|---------|
| **Frontend** | Next.js 14 | React framework with App Router |
| **Language** | TypeScript | Type-safe JavaScript |
| **Styling** | Tailwind CSS | Utility-first CSS framework |
| **Icons** | Lucide React | Beautiful, customizable icons |
| **Backend** | Supabase | Backend-as-a-Service |
| **Database** | PostgreSQL | Relational database |
| **Auth** | Supabase Auth | Authentication & authorization |
| **Payments** | Stripe | Payment processing |
| **Deployment** | Vercel | Hosting & CI/CD |
| **Forms** | React Hook Form | Form handling |
| **Validation** | Zod | Schema validation |

## 🚀 Getting Started

### Prerequisites

Before you begin, ensure you have the following installed:

- **Node.js** 18+ ([Download](https://nodejs.org/))
- **npm** or **yarn** package manager
- **Git** ([Download](https://git-scm.com/))
- **Supabase account** ([Sign up](https://supabase.com/))
- **Stripe account** ([Sign up](https://stripe.com/))

### ⚡ Quick Start

```bash
# 1. Clone the repository
git clone https://github.com/adityash8/jetpast.git
cd jetpast

# 2. Run the setup script
chmod +x scripts/setup.sh
./scripts/setup.sh

# 3. Configure environment variables
cp env.example .env.local
# Edit .env.local with your API keys

# 4. Start development server
npm run dev
```

### 📋 Manual Setup

Click to expand detailed setup instructions

#### 1. Clone the Repository
```bash
git clone https://github.com/adityash8/jetpast.git
cd jetpast
```

#### 2. Install Dependencies
```bash
npm install
```

#### 3. Environment Configuration
```bash
cp env.example .env.local
```

Fill in your environment variables in `.env.local`:

```env
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key

# Stripe Configuration
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...

# App Configuration
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=http://localhost:3000

# External APIs (Optional)
AVIATION_API_KEY=your_aviation_api_key
SERP_API_KEY=your_serp_api_key
OPENAI_API_KEY=your_openai_api_key
```

#### 4. Database Setup
1. Create a new Supabase project
2. Go to the SQL Editor
3. Run the contents of `supabase/schema.sql`

#### 5. Start Development Server
```bash
npm run dev
```

#### 6. Open Your Browser
Navigate to [http://localhost:3000](http://localhost:3000)

## Project Structure

```
jetpast/
├── app/ # Next.js 14 app directory
│ ├── auth/ # Authentication pages
│ ├── search/ # Search functionality
│ ├── services/ # Service details and booking
│ └── globals.css # Global styles
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ ├── auth/ # Authentication components
│ └── booking/ # Booking flow components
├── lib/ # Utility functions and configurations
│ ├── supabase.ts # Supabase client setup
│ ├── stripe.ts # Stripe configuration
│ └── utils.ts # Helper functions
├── supabase/ # Database schema and migrations
│ └── schema.sql # Complete database schema
└── types/ # TypeScript type definitions
```

## Key Features Explained

### 1. Search & Discovery
- **Airport Search**: Search by IATA codes (LHR, DXB, JFK, etc.)
- **Service Filters**: Filter by service type, price range, duration, and rating
- **Real-time Results**: Fast search with loading states and empty states

### 2. Service Details
- **Comprehensive Info**: Detailed service descriptions, inclusions, and requirements
- **Provider Information**: Contact details and service provider information
- **Reviews & Ratings**: Customer reviews and ratings display

### 3. Booking Flow
- **Passenger Details**: Collect passenger information and flight details
- **Price Calculation**: Dynamic pricing based on passenger count
- **Secure Payment**: Stripe integration for secure payment processing

### 4. Authentication
- **Multiple Options**: Email/password and OAuth (Google) authentication
- **User Profiles**: User preferences and booking history
- **Role-based Access**: Different access levels for users and admins

## Database Schema

The application uses a comprehensive PostgreSQL schema with the following main tables:

- **profiles**: User profiles and preferences
- **airports**: Airport information and available services
- **providers**: Service provider details and affiliate rates
- **services**: Individual services with pricing and details
- **bookings**: Booking records with payment and status information
- **reviews**: Customer reviews and ratings
- **subscriptions**: Premium user subscriptions

## API Integration

### Supabase
- **Authentication**: User management and session handling
- **Database**: PostgreSQL with real-time subscriptions
- **Storage**: File uploads for service images and documents

### Stripe
- **Payments**: Secure payment processing
- **Webhooks**: Handle payment confirmations and failures
- **Subscriptions**: Premium user subscription management

### External APIs (Planned)
- **Aviation APIs**: Flight delay and status information
- **Provider APIs**: Direct integration with service providers
- **Apple Wallet**: Pass generation and updates

## Deployment

### Vercel (Recommended)
1. Connect your GitHub repository to Vercel
2. Set environment variables in Vercel dashboard
3. Deploy automatically on push to main branch

### Manual Deployment
```bash
npm run build
npm start
```

## Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## Business Model

- **Affiliate Commissions**: 8-15% commission from service providers
- **Subscription Revenue**: $49/year premium tier with discounts
- **B2B White-label**: Custom solutions for travel agents and airlines
- **AI Upsells**: Premium flight risk predictions and recommendations

## Market Validation

- **Target Market**: Business travelers, digital nomads, frequent flyers
- **Pain Points**: Inconsistent booking UX, hidden availability, long queues
- **Solution**: Standardized discovery and reservations across 500+ airports
- **Revenue Potential**: $1K MRR in 30 days, $10K MRR in 6 months

## Roadmap

### Phase 1: MVP (Current)
- ✅ Core search and booking functionality
- ✅ User authentication and profiles
- ✅ Basic payment integration
- 🚧 Apple Wallet integration
- 🚧 AI flight predictions

### Phase 2: Growth
- 📋 Mobile app development
- 📋 Provider API integrations
- 📋 B2B dashboard
- 📋 Advanced analytics

### Phase 3: Scale
- 📋 International expansion
- 📋 Additional service types
- 📋 Corporate partnerships
- 📋 Advanced AI features

## 📊 Business Model

### Revenue Streams

| Stream | Description | Commission |
|--------|-------------|------------|
| **Affiliate Commissions** | Partner with service providers | 8-15% per booking |
| **Subscription Revenue** | Premium tier for frequent travelers | $49/year |
| **B2B White-label** | Custom solutions for travel agents | 20% of revenue |
| **AI Upsells** | Flight risk predictions | $5/report |

### Market Validation

- **Target Market**: Business travelers, digital nomads, frequent flyers
- **Pain Points**: Inconsistent booking UX, hidden availability, long queues
- **Solution**: Standardized discovery and reservations across 500+ airports
- **Revenue Potential**: $1K MRR in 30 days, $10K MRR in 6 months

## 🎯 Roadmap

### Phase 1: MVP (Current) ✅
- [x] Core search and booking functionality
- [x] User authentication and profiles
- [x] Basic payment integration
- [ ] Apple Wallet integration
- [ ] AI flight predictions

### Phase 2: Growth (Q2 2024)
- [ ] Mobile app development
- [ ] Provider API integrations
- [ ] B2B dashboard
- [ ] Advanced analytics

### Phase 3: Scale (Q3 2024)
- [ ] International expansion
- [ ] Additional service types
- [ ] Corporate partnerships
- [ ] Advanced AI features

## 🤝 Contributing

We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.

### Development Workflow

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

### Code Style

- Use TypeScript for type safety
- Follow the existing code style
- Write meaningful commit messages
- Add tests for new features

## 📈 Performance

| Metric | Target | Current |
|--------|--------|---------|
| **Page Load Time** | < 2s | ~1.5s |
| **API Response Time** | < 500ms | ~300ms |
| **Uptime** | > 99.5% | 99.9% |
| **Error Rate** | < 1% | 0.2% |

## 🔒 Security

- **Authentication**: Supabase Auth with OAuth providers
- **Data Encryption**: All data encrypted in transit and at rest
- **Payment Security**: PCI DSS compliant via Stripe
- **API Security**: Rate limiting and input validation
- **Privacy**: GDPR compliant data handling

## 📞 Support

- **Email**: support@jetpast.com
- **Discord**: [Join our community](https://discord.gg/jetpast)
- **Documentation**: [docs.jetpast.com](https://docs.jetpast.com)
- **Issues**: [GitHub Issues](https://github.com/adityash8/jetpast/issues)

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

- **Supabase** for the amazing backend platform
- **Vercel** for seamless deployment
- **Stripe** for payment processing
- **Tailwind CSS** for beautiful styling
- **All contributors** who help make JetPast better

---

**Built with ❤️ for travelers who value their time.**

[![GitHub stars](https://img.shields.io/github/stars/adityash8/jetpast?style=social)](https://github.com/adityash8/jetpast)
[![Twitter Follow](https://img.shields.io/twitter/follow/jetpast?style=social)](https://twitter.com/jetpast)
[![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?style=flat-square&logo=linkedin)](https://linkedin.com/company/jetpast)