Skip to content

Latest commit

 

History

History
202 lines (152 loc) · 6.32 KB

File metadata and controls

202 lines (152 loc) · 6.32 KB

JetSet

Flutter Firebase License

JetSet is a comprehensive travel planning and discovery mobile application built with Flutter, designed to help travelers explore destinations, access curated guides, and plan their perfect trips. Whether you're a seasoned globetrotter or planning your first adventure, JetSet provides everything you need to make your travel dreams a reality.

Features

Destination Discovery

  • Global Destinations: Explore thousands of destinations worldwide
  • Rich Information: Get detailed insights including best time to visit, timezone, currency, and local language
  • Weather Data: Access real-time weather information for better trip planning
  • Transportation Info: Learn about local transportation options and tips
  • High-Quality Images: Stunning destination photography to inspire your travels

Travel Guides

  • Expert Content: Curated travel guides written by experienced travelers and locals
  • Destination-Specific: Guides tailored to specific locations and experiences
  • Interactive Elements: Like and view guides to discover the most popular content
  • Author Profiles: Learn about guide authors and their travel expertise

Places & Attractions

  • City Exploration: Discover cities and attractions within destinations
  • Restaurant Guide: Find the best local dining experiences
  • Things to Do: Curated lists of activities and experiences
  • Local Insights: Authentic recommendations from travelers who've been there

Trip Planning

  • Personal Itineraries: Create and manage your travel plans
  • Trip Organization: Keep all your travel details in one place
  • Travel Mates: Organize group trips and share plans
  • Flexible Planning: Adapt your plans as your journey evolves

User Management

  • Secure Authentication: Multiple sign-in options for your convenience
  • Profile Management: Customize your travel preferences and settings
  • Cross-Platform Sync: Access your data across all your devices
  • Privacy First: Your travel data is secure and private

Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/jetset-travel-app.git
    cd jetset-travel-app
  2. Install dependencies

    flutter pub get
  3. Firebase Setup

    • Create a new Firebase project at Firebase Console
    • Enable Authentication, Firestore, and Performance Monitoring
    • Download and add your google-services.json (Android) and GoogleService-Info.plist (iOS)
    • Update lib/backend/firebase/firebase_config.dart with your Firebase configuration
  4. Run the application

    flutter run

Environment Configuration

Create a .env file in the root directory with your configuration:

FIREBASE_API_KEY=your_api_key
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_MESSAGING_SENDER_ID=your_sender_id
FIREBASE_APP_ID=your_app_id

Architecture

JetSet follows a clean, scalable architecture pattern:

lib/
├── actions/           # Business logic and API calls
├── auth/             # Authentication management
├── backend/          # Data models and Firebase integration
├── components/       # Reusable UI components
├── flutter_flow/     # FlutterFlow generated utilities
├── pages/            # Application screens
├── custom_code/      # Custom implementations
└── main.dart         # Application entry point

Key Technologies

  • Frontend: Flutter with Material Design
  • Backend: Firebase (Firestore, Authentication, Performance)
  • State Management: Provider pattern
  • Navigation: GoRouter
  • Database: Cloud Firestore
  • Authentication: Firebase Auth with multiple providers

Screenshots

[Screenshots will be added here showing the app's key features]

Configuration

Firebase Setup

  1. Authentication Methods

    • Email/Password
    • Google Sign-In
    • Apple Sign-In (iOS)
  2. Firestore Collections

    • destinations - Travel destinations
    • guides - Travel guides
    • places - Points of interest
    • restaurants - Dining options
    • users - User profiles
    • myTrips - User trip plans
  3. Security Rules

    • Implement proper Firestore security rules
    • Set up user authentication requirements
    • Configure data access permissions

Platform-Specific Setup

Android

  • Minimum SDK: 21
  • Target SDK: 33
  • Permissions: Internet, Location (optional)

iOS

  • Minimum iOS: 12.0
  • Capabilities: Sign in with Apple
  • Permissions: Location (optional)

Testing

Run the test suite to ensure everything works correctly:

# Unit tests
flutter test

Building for Production

Android APK

flutter build apk --release

Android App Bundle

flutter build appbundle --release

iOS

flutter build ios --release

Web

flutter build web --release

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Roadmap

  • Offline Mode: Access content without internet connection
  • Social Features: Share trips and connect with other travelers
  • AI Recommendations: Personalized travel suggestions
  • Multi-language Support: Localization for global users
  • Advanced Planning Tools: Itinerary optimization and scheduling
  • Real-time Updates: Live travel alerts and notifications
  • Integration APIs: Connect with booking platforms and services