Giter VIP home page Giter VIP logo

flutter-firebase-quizapp-course's Introduction

Flutter Firebase - The Full Course 3.0

๐Ÿ•Š๏ธ๐Ÿ”ฅ Build a realtime Quiz App from scratch with Flutter 3 & Firebase.

Learn it

Enroll in the Flutter Firebase Course on Fireship.

Try it

Run it

git clone https://github.com/fireship-io/flutter-firebase-quizapp-course.git quizapp
cd quizapp

flutter run

Learning Goals

  • ๐Ÿ‘จโ€๐ŸŽค Build a complete Flutter app with Firebase
  • ๐Ÿฆ Master most common Flutter widgets
  • ๐Ÿ” User Authentication (Apple, Google, Anonymous)
  • โš’๏ธ State Management with Provider
  • ๐Ÿ”ฅ Model relational Firestore data
  • ๐ŸŽญ Animation for realtime data streams
  • โš“ Organize large Flutter projects
  • ๐Ÿค– Firestore -> Dart Classes with JSON Serializable
  • ๐Ÿš€ Deploy to the Apple App Store and Google Play

flutter-firebase-quizapp-course's People

Contributors

codediodeio avatar delaneyphx avatar narcodico avatar rockarts avatar shrijalshr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flutter-firebase-quizapp-course's Issues

Firestore service error

In the main.dart file
create: (_) => FirestoreService().streamReport(),

generates an not found error.

The method 'FirestoreService' isn't defined for the type '_AppState'.
Try correcting the name to the name of an existing method, or defining a method ``named 'FirestoreService'

New Quizzes needed

I have finished all the quizzes in the app please add more quizzes specially in flutter

Firebase img not showing

Running iOS 12.2 on a iPhone Xs Max, and cant seem to see an image for the Firebase quiz, see attached file.
0

Error in db.dart for Collection.streamData

db.dart provides an excellent, abstract means to connect Firestore documents and collections to Flutter without all the boilerplate. However, I noticed a bug when working with streams in db.dart. When creating a stream collection, such as by calling:
StreamProvider<List<Example>>.value(value: Global.exampleRef.streamData())

...inside of a MultiProvider widget, you will get the following error message:

An exception was thrown by _MapStrean<QuerySnapshot, List> listened by StreamProvider<List>, but no 'catchError was provided.

Exception: type 'MappedListIterable<DocumentSnapshot, Example>' is not a subtype of type 'List'

In db.dart, Line 47 is missing a .toList() at the end:
Stream<List<T>> streamData() { return ref.snapshots().map((list) => list.documents.map((doc) => Global.models[T](doc.data) as T).toList()); }

error

{
"resource": "/C:/Users/kareem/AndroidProjects/flutter-firebase-quizapp-course/lib/screens/profile.dart",
"owner": "dart",
"code": "experiment_not_enabled",
"severity": 8,
"message": "This requires the 'control-flow-collections' language feature to be enabled.\nTry updating your pubspec.yaml to set the minimum SDK constraint to 2.2.2 or higher, and running 'pub get'.",
"source": "dart",
"startLineNumber": 27,
"startColumn": 13,
"endLineNumber": 27,
"endColumn": 15,
"tags": []
}

Error after login witth google Signin

โ•โ•โ•โ•โ•โ•โ•โ• Exception caught by widgets library โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
The following ProviderNotFoundError was thrown building TopicProgress(dirty):
Error: Could not find the correct Provider above this TopicProgress Widget

To fix, please:

  • Ensure the Provider is an ancestor to this TopicProgress Widget
  • Provide types to Provider
  • Provide types to Consumer
  • Provide types to Provider.of()
  • Always use package imports. Ex: `import 'package:my_app/my_code.dart';
  • Ensure the correct context is being used.

If none of these solutions work, please file a bug at:
https://github.com/rrousselGit/provider/issues

User-created ancestor of the error-causing widget was:
Column file:///C:/Users/Guilherme/AndroidStudioProjects/quizapp/lib/screens/topics.dart:65:20

error

Failing master branch - RenderFlex overflowing

Checking out the master branch at it's latest commit does not work:

* What went wrong:
A problem occurred evaluating project ':cloud_firestore'.
> Could not find method platform() for arguments [com.google.firebase:firebase-bom:26.2.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Also
I have followed along on your platform, but yet at the end I am getting this error. In topics.dart

======== Exception caught by rendering library =====================================================
The following assertion was thrown during layout:
A RenderFlex overflowed by 99854 pixels on the bottom.

The relevant error-causing widget was: 
  Column file:///home/arpan/Documents/School/sem4/mobile-apps/quizapp/lib/screens/topics.dart:65:20
The overflowing RenderFlex has an orientation of Axis.vertical.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and black striped pattern. This is usually caused by the contents being too big for the RenderFlex.

Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be seen. If the content is legitimately bigger than the available space, consider clipping it with a ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex, like a ListView.

The specific RenderFlex in question is: RenderFlex#b685a OVERFLOWING
...  parentData: <none> (can use size)
...  constraints: BoxConstraints(w=172.7, h=172.7)
...  size: Size(172.7, 172.7)
...  direction: vertical
...  mainAxisAlignment: spaceBetween
...  mainAxisSize: max
...  crossAxisAlignment: start
...  textDirection: ltr
...  verticalDirection: down

Regards

Upgrading firebase

Lots to do to upgrade to the latest firebase. This one has me stumped. The Collection method:

Stream<List> streamData() {
return ref.snapshots().map((list) => list.documents.map((doc) => Global.modelsT as T) );
}
gives:
Expected a value of type 'Map<dynamic, dynamic>', but got one of type '() => Map<String, dynamic>'

Mark Complete error

this error message

`E/AndroidRuntime( 4354): at com.google.firebase.firestore.remote.RemoteStore.fillWritePipeline(com.google.firebase:firebase-firestore@@18.2.0:574)

E/AndroidRuntime( 4354): at com.google.firebase.firestore.core.SyncEngine.writeMutations(com.google.firebase:firebase-firestore@@18.2.0:231)

E/AndroidRuntime( 4354): at com.google.firebase.firestore.core.FirestoreClient.lambda$write$11(com.google.firebase:firebase-firestore@@18.2.0:200)

E/AndroidRuntime( 4354): at com.google.firebase.firestore.core.FirestoreClient$$Lambda$11.run(Unknown Source:6)

E/AndroidRuntime( 4354): at com.google.firebase.firestore.util.AsyncQueue.lambda$enqueue$4(com.google.firebase:firebase-firestore@@18.2.0:311)

E/AndroidRuntime( 4354): at com.google.firebase.firestore.util.AsyncQueue$$Lambda$4.call(Unknown Source:2)

E/AndroidRuntime( 4354): at com.google.firebase.firestore.util.AsyncQueue.lambda$enqueue$3(com.google.firebase:firebase-firestore@@18.2.0:287)

E/AndroidRuntime( 4354): ... 8 more

I/Process ( 4354): Sending signal. PID: 4354 SIG: 9`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.