Skip the lines, arrive in style. Premium airport services at 500+ airports worldwide.
π Live Demo β’ π Documentation β’ π Report Bug β’ β¨ Request Feature
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.
- β° 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
| 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 |
| 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 |
| Feature | Priority | Timeline |
|---|---|---|
| π’ B2B Dashboard | High | Q2 2024 |
| π± Mobile App | High | Q2 2024 |
| π Provider APIs | Medium | Q3 2024 |
| β‘ Real-time Updates | Medium | Q3 2024 |
| 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 |
Before you begin, ensure you have the following installed:
- Node.js 18+ (Download)
- npm or yarn package manager
- Git (Download)
- Supabase account (Sign up)
- Stripe account (Sign up)
# 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 devClick to expand detailed setup instructions
git clone https://github.com/adityash8/jetpast.git
cd jetpastnpm installcp env.example .env.localFill in your environment variables in .env.local:
# 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- Create a new Supabase project
- Go to the SQL Editor
- Run the contents of
supabase/schema.sql
npm run devNavigate to http://localhost:3000
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
- 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
- Comprehensive Info: Detailed service descriptions, inclusions, and requirements
- Provider Information: Contact details and service provider information
- Reviews & Ratings: Customer reviews and ratings display
- Passenger Details: Collect passenger information and flight details
- Price Calculation: Dynamic pricing based on passenger count
- Secure Payment: Stripe integration for secure payment processing
- 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
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
- Authentication: User management and session handling
- Database: PostgreSQL with real-time subscriptions
- Storage: File uploads for service images and documents
- Payments: Secure payment processing
- Webhooks: Handle payment confirmations and failures
- Subscriptions: Premium user subscription management
- Aviation APIs: Flight delay and status information
- Provider APIs: Direct integration with service providers
- Apple Wallet: Pass generation and updates
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
npm run build
npm start- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- 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
- 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
- β Core search and booking functionality
- β User authentication and profiles
- β Basic payment integration
- π§ Apple Wallet integration
- π§ AI flight predictions
- π Mobile app development
- π Provider API integrations
- π B2B dashboard
- π Advanced analytics
- π International expansion
- π Additional service types
- π Corporate partnerships
- π Advanced AI features
| 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 |
- 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
- Core search and booking functionality
- User authentication and profiles
- Basic payment integration
- Apple Wallet integration
- AI flight predictions
- Mobile app development
- Provider API integrations
- B2B dashboard
- Advanced analytics
- International expansion
- Additional service types
- Corporate partnerships
- Advanced AI features
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Use TypeScript for type safety
- Follow the existing code style
- Write meaningful commit messages
- Add tests for new features
| Metric | Target | Current |
|---|---|---|
| Page Load Time | < 2s | ~1.5s |
| API Response Time | < 500ms | ~300ms |
| Uptime | > 99.5% | 99.9% |
| Error Rate | < 1% | 0.2% |
- 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
- Email: support@jetpast.com
- Discord: Join our community
- Documentation: docs.jetpast.com
- Issues: GitHub Issues
This project is licensed under the MIT License - see the LICENSE file for details.
- 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