Skip to content

shujaamarwat/JetSet_Flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

An ongoing Flutter travel app for trip planning, destination discovery, and curated guides.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages