This repository contains all the code written throughout the 1ManStartup YouTube tutorials for building a travel budget app using Flutter

Overview

Travel Treasury

Download The Live App

alt text

This repository contains all the code written throughout the 1ManStartup YouTube tutorials for building a travel budget app using Flutter

View the channel on YouTube

How To Use This Resource

Each episode where code is created or modified will have an associated branch in this repo. The code in each episode's branch will contain the completed code from that episode and the branch will remain in that state.

The master branch will contain the most recent version of code, and be considered the "production" version. This means the master branch will always be the most up to date.

Any questions should be asked in the comments of the relevant video on YouTube.

Setup Firebase Database

After Episode 15 you will need to configure your own Firebase project. Most importantly you will need to generate and include your own google-services.json file for Android and GoogleServices-Info.plist file for iOS. Full instructions on how to configure Firebase for this project can be found in Episode 15 on YouTube

You might also like...

Travel application ui made with flutter

travel ui flutter travel application ui made with flutter HEAD Flutter D

Dec 20, 2021

Tour travel Ui w/Flutter Dart(still updating)

tourx_ui_c4 A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

Nov 2, 2022

SeeFood is a Flutter app which tells you whether photograph contains any food items or not.

SeeFood is a Flutter app which tells you whether photograph contains any food items or not.

See Food 👀 🍕 See Food is a Flutter app which tells you whether photograph contains any food items or not. This app is highly inspired by and an atte

Oct 8, 2022

Quiz app contains flutter questions only and showing result what you got.kind of mcq pattern

Quiz app contains flutter questions only and showing result what you got.kind of mcq pattern

quiz A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this is

Jan 24, 2022

This project contains a flutter application to view any Instagram profile.

This project contains a flutter application to view any Instagram profile.

Instagram Profile Viewer (yamuntu_task) This project is for my application at yamuntu. The presented application allows the user to view any username

Jun 2, 2022

Building an app using AWS Amplify and Flutter

aws-amplify-flutter This repository is for building an app using AWS Amplify and Flutter. Module 0 - prerequisites [✓] Flutter (Channel stable, 2.5.3,

Oct 31, 2021

Flutter: QR Code Scanner App Flutter: QR Code Scanner App

Flutter: QR Code Scanner App Flutter: QR Code Scanner App

Flutter QRCode Scanner APP Show some ❤ī¸ and star the repo to support the project A new Flutter project. Features Scan 2D barcodes Scan QR codes Contro

Nov 10, 2022

Flutter YouTube Clone

Flutter YouTube Clone

Flutter YouTube Clone Flutter YouTube Clone with MobX State Management, Dio for REST API requests Watch: Ekran.Kaydi.2021-08-25.15.28.50.mov Connect w

Jun 25, 2022

Flutter Advanced: Background Fetch | Run code in the background Android & iOS | Run code in the background Android & iOS

flutterbackground A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you starte

Dec 16, 2022
Comments
  • Error on ButtonStyle AppleSignInButton

    Error on ButtonStyle AppleSignInButton

    Im getting error on sign_up_view here is the log

    lib/views/sign_up_view.dart:463:16: Error: 'ButtonStyle' is imported from both 'package:apple_sign_in/apple_sign_in_button.dart' and 'package:flutter/src/material/button_style.dart'.
            style: ButtonStyle.black,
                   ^^^^^^^^^^^
    lib/views/sign_up_view.dart:458:14: Error: 'AppleSignInButton' is imported from both 'package:apple_sign_in/apple_sign_in_button.dart' and 'package:flutter_auth_buttons/src/apple.dart'.
          return AppleSignInButton(
                 ^^^^^^^^^^^^^^^^^
    
    opened by zakblacki 1
  • Apple signin Issue

    Apple signin Issue

    Hello, have been following your apple sign in config tutorial on youtube for my flutter app, all doe the config does invoke apple sign in IdCredentials, am not getting any data and more over, it doesn't navigator to the next page as it supposed to. Below the code

    Future<void> _ensureLoggedIn(BuildContext context) async {
      print('[_ensureLoggedIn] START');
    
      GoogleSignInAccount user = googleSignIn.currentUser;
      if (user == null) {
        print('[_ensureLoggedIn] user == null');
        print('[_ensureLoggedIn] [signInSilently] START');
        user = await googleSignIn.signInSilently();
        print('[_ensureLoggedIn] [signInSilently] DONE');
      }
    
      if (user == null) {
        print('[_ensureLoggedIn] user == null');
        print('[_ensureLoggedIn] [signIn] START');
        await googleSignIn.signIn().then((_) {
          tryCreateUserRecord(context);
        });
        print('[_ensureLoggedIn] [signIn] DONE');
      }
    
      if (await auth.currentUser() == null) {
    
        print('[_ensureLoggedIn] auth.currentUser() == null');
        print('[_ensureLoggedIn] [googleSignIn.currentUser.authentication] START');
    
    
        GoogleSignInAuthentication credentials = await googleSignIn.currentUser.authentication;
        final GoogleSignInAccount googleUser = await googleSignIn.signIn();
        final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
    
    print('[_ensureLoggedIn] [googleSignIn.currentUser.authentication] DONE');
        print('[_ensureLoggedIn] [signInWithGoogle] START');
      final AuthCredential credential = GoogleAuthProvider.getCredential(
          accessToken: googleAuth.accessToken,
          idToken: googleAuth.idToken,
        );
     return(await auth.signInWithCredential(credential)).user.uid;
      }
    print('[_ensureLoggedIn] DONE');
    }
    Future<void> _silentLogin(BuildContext context) async {
      GoogleSignInAccount user = googleSignIn.currentUser;
    if (user == null) {
        user = await googleSignIn.signInSilently();
        await tryCreateUserRecord(context);
      }
     if (await auth.currentUser() == null && user != null) {
        final GoogleSignInAccount googleUser = await googleSignIn.signIn();
        final GoogleSignInAuthentication googleAuth = await googleUser
            .authentication;
       final AuthCredential credential = GoogleAuthProvider.getCredential(
          accessToken: googleAuth.accessToken,
          idToken: googleAuth.idToken,
        );
        await auth.signInWithCredential(credential);
      }
    }
    
    // APPLE
    Future<void> signInWithApple(BuildContext context) async {
      final AuthorizationResult result = await AppleSignIn.performRequests([
        AppleIdRequest(requestedScopes: [Scope.email, Scope.fullName])
      ]);
    switch (result.status) {
        case AuthorizationStatus.authorized:
     // Store user ID
          await FlutterSecureStorage()
              .write(key: "userId", value: result.credential.user);
           final AppleIdCredential _auth = result.credential;
          final OAuthProvider oAuthProvider = new OAuthProvider(providerId: "apple.com");
         final AuthCredential credential = oAuthProvider.getCredential(
            idToken: String.fromCharCodes(_auth.identityToken),
            accessToken: String.fromCharCodes(_auth.authorizationCode),
          );
     await auth.signInWithCredential(credential);
    // update the user information
          if (_auth.fullName != null) {
            auth.currentUser().then( (value) async {
              UserUpdateInfo user = UserUpdateInfo();
              user.displayName = "${_auth.fullName.givenName} ${_auth.fullName.familyName}";
              await value.updateProfile(user);
            });
          }
    
          break;
     case AuthorizationStatus.error:
          print("Sign In Failed ${result.error.localizedDescription}");
          break;
    case AuthorizationStatus.cancelled:
          print("User Cancelled");
          break;
      }
    }
    tryCreateUserRecord(BuildContext context) async {
      GoogleSignInAccount user = googleSignIn.currentUser;
      if (user == null) {
        return null;
      }
      DocumentSnapshot userRecord = await ref.document(user.id).get();
      if (userRecord.data == null) {
        // no user record exists, time to create
     String userName = await Navigator.push( context,
          // We'll create the SelectionScreen in the next step!
          MaterialPageRoute(
              builder: (context) => Center(
                    child: Scaffold(
                        appBar: AppBar(
                          leading: Container(),
                          title: Text('Fill out missing data',
                              style: TextStyle(
                                  color: Colors.black,
                                  fontWeight: FontWeight.bold)),
                          backgroundColor: Colors.white,
                        ),
                        body: ListView(
                          children: <Widget>[
                             Container(
                              child: CreateAccount(),
                            ),
                          ],
                        )),
                  )),
     );
     if (userName != null || userName.length != 0){
          ref.document(user.id).setData({
            "id": user.id,
            "username": userName,
            "photoUrl": user.photoUrl,
            "email": user.email,
            "displayName": user.displayName,
          });
        }
      }
     currentUserModel = User.fromDocument(userRecord);
    }
     and separate container for 
    AppleSignInButton(
                   type: ButtonType.signIn,
                    cornerRadius: 6.0,
                     onPressed: () async {
                    await signInWithApple( context );
                    Navigator.push (context ,MaterialPageRoute(
                        builder: (_) =>
                            HomePage()));
                  },
    

    Please am on a roadblock now, any help or any light something on the codes would be appreciated. Thanks

    opened by pojoba02 1
  • As a follower and fan of yours, can you please help?

    As a follower and fan of yours, can you please help?

    This happens on this screen. I think it needs a single child scroll view, but cant figure out where to even put it as the page is broken up into tiny pieces. Can you please help a guy out? Screenshot (138)

    opened by Isonomic 1
  • For some reason even though I have the auth in the Provider widget, it still returns as null can you help me out please?

    For some reason even though I have the auth in the Provider widget, it still returns as null can you help me out please?

    code:

    class Provider extends InheritedWidget { final AuthService auth;

    Provider({Key key, Widget child, this.auth, }) : super(key: key, child: child);

    @override bool updateShouldNotify(InheritedWidget oldWidget) { return true; }

    static Provider of(BuildContext context) => (context.dependOnInheritedWidgetOfExactType()); }

    opened by elompo23 1
Travel-Application-Ui-design - A Simple Travel Application Ui design For Flutter

Flutter Simple Travel Application UI Design A part of #flutter100daysofcode. Let

Lutfur Rahman 0 Jan 28, 2022
The mobile version for the food dashboard tutorials

Flutter food_dashboard A serverless mobile application built with AWS and Flutter. Actually, it's just a sample application, show casing the speed at

rosius 13 Oct 18, 2022
Cryptocurrency App with MVP Design Pattern to track all the coins data in realtime for android & iOS . Written in dart using Flutter SDK.

Flutter CryptoCurrency App (MVP) Cryptocurrency App with MVP design pattern to track all the coins data in realtime for android & iOS . Written in dar

Pawan Kumar 287 Dec 30, 2022
Flutter Travel App Concept

English | įŽ€äŊ“中文 ?? Flutter Travel App Concept Flutter representation of a Travel App Concept i found in Uplabs. It only consists of 2 screens. Star ⭐ t

Hauler 5 Oct 28, 2022
Flutter Travel Blog App đŸ—ēī¸ đŸ”Ĩ

Flutter Travel Blog App ??ī¸ ??

Zaur Reza joy 1 May 28, 2022
Travel App - Flutter UI

Travel App - Flutter UI Watch it on YouTube Packages we are using: flutter_svg: link goole_fonts: link Fonts Poppins link We design two pages one is t

Abu Anwar 352 Jan 1, 2023
A Flutter UI for travel app

ui2 #Tourist app UI Simple UI for travel app ===> screen recording of UI: https:

Ramesh Krishnan Arul 0 Jan 3, 2022
A mobile travel app is a software application that has been developed specifically for use on smaller devices

A mobile travel app is a software application that has been developed specifically for use on smaller devices, such as smartphones and tablets, and can be used by business travellers to book and manage their travel whilst on the move

Behruz Hurramov 4 Apr 27, 2022
UI Travel Booking made in Flutter

ui_travel_booking A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you starte

Emanoel Santana 0 Nov 27, 2021