Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: describe cache in Flutter Firebase Login Tutorial #3941

Open
cavator opened this issue Aug 23, 2023 · 2 comments
Open

docs: describe cache in Flutter Firebase Login Tutorial #3941

cavator opened this issue Aug 23, 2023 · 2 comments
Labels
documentation Documentation requested example Example application good first issue Good for newcomers

Comments

@cavator
Copy link

cavator commented Aug 23, 2023

Description

Clearly describe what documentation you are looking to add or improve.
In https://bloclibrary.dev/#/flutterfirebaselogintutorial you guys just use cache, but never talk about cache, have nothing about it, if u didn't go in the repo in just CTRL+C, CTRL+V the files u can't do the tutorial by your own. even if you know about cache, why have no explanation or the code of cache in the tutorial, it makes no sense.
"But it's a BLoC tutorial". Ok, but how can i follow if the tutorial it's incomplete.
why you use things without explaining the propose, what this doing, why create this package...
things like that

@cavator cavator added the documentation Documentation requested label Aug 23, 2023
@felangel felangel added good first issue Good for newcomers example Example application labels Sep 13, 2023
@felangel felangel changed the title docs: docs: describe cache in Flutter Firebase Login Tutorial Oct 2, 2023
@nickf2k
Copy link

nickf2k commented Jan 24, 2024

@felangel anyone work on this? Can I work with it?

@MohittGandhi
Copy link

Hi @felangel @cavator this will be enough for the developers who are new to flutter, firebase , or the bloc pattern
FlutterFire Login Tutorial Improvements
This document outlines potential improvements to the Flutter Firebase Login Tutorial on the BLoC Library website, addressing the concerns raised regarding the lack of explanation for the caching mechanism and other implementation details.

Explanation of Caching
Purpose of Caching
The tutorial should include a section that explains the purpose of caching in the context of the login flow. Caching the user's authentication state can provide the following benefits:

Improved User Experience: By caching the user's authentication state, the application can avoid unnecessary sign-in prompts and provide a smoother transition between app sessions.
Offline Support: Caching the user's authentication state can allow the application to function in offline mode, providing a better experience for users with intermittent internet connectivity.
Performance Optimization: Caching can reduce the need for repeated authentication checks, improving the overall performance and responsiveness of the application.
Caching Implementation
The tutorial should include a description of the caching implementation used in the example project. This could include:

Caching Mechanism: Explain the caching mechanism used, such as shared preferences or other caching mechanisms.
Caching Strategy: Describe the strategy for caching and retrieving the user's authentication state, including when the cache is updated and when it is read.
Error Handling: Discuss how the tutorial handles potential errors or edge cases related to the caching mechanism.
Third-Party Package Documentation
The tutorial relies on third-party packages like firebase_auth and firebase_core. While these packages are widely used, the tutorial should provide a brief introduction to their purpose and why they are included in the project.

For each package, the following information could be included:

Package Name and Description: Provide the name of the package and a brief description of its purpose.
Usage in the Tutorial: Explain how the package is used in the context of the tutorial and the specific functionality it provides.
Installation Instructions: Include instructions for installing the package in the project, if applicable.
Project Structure Explanation
The tutorial assumes some familiarity with the BLoC pattern and the folder structure used in the example project. To make it more accessible, the tutorial could include an overview of the project structure and the role of each file or directory.

This could include:

BLoC Pattern Overview: Provide a brief introduction to the BLoC pattern and its importance in the context of the tutorial.
Folder Structure: Explain the purpose and contents of each folder in the project, such as blocs, models, repositories, and utils.
File Descriptions: Describe the purpose and functionality of the main files in the project, such as the auth_bloc.dart, auth_repository.dart, and user_repository.dart.
Setup Instructions
While the tutorial provides instructions for setting up Firebase, it could be improved by including more detailed steps for configuring the Firebase project, enabling the necessary services, and setting up the Flutter project to work with Firebase.

The setup instructions could cover the following:

Firebase Project Setup: Provide step-by-step instructions for creating a new Firebase project, registering the application, and configuring the necessary services (e.g., Firebase Authentication).
Flutter Project Configuration: Explain how to configure the Flutter project to integrate with Firebase, including adding the necessary dependencies and initializing the Firebase services.
Platform-Specific Setup: If applicable, include instructions for any platform-specific setup required for Android or iOS development.
Troubleshooting Tips: Provide common troubleshooting tips or known issues related to the setup process.
By addressing these points and providing more context and explanations, the Flutter Firebase Login Tutorial on the BLoC Library website could become more accessible and valuable for developers who are new to Flutter, Firebase, or the BLoC pattern.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Documentation requested example Example application good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

4 participants