CampusEatsUofT / .github

A README repository of Campus Eats
0 stars 0 forks source link

Firebase Tutorial #2

Open Yuanxyyds opened 6 months ago

Yuanxyyds commented 6 months ago

What is Firebase?

Firebase is a comprehensive mobile and web application cloud service offered by Google. Firebase includes features such as real-time database, authentication, cloud functions, hosting, storage, machine learning, and more. It is particularly well-suited for creating apps with real-time collaboration, authentication, and serverless architectures. Firebase's integration with popular frameworks like Flutter and React Native makes it a popular choice for cross-platform application development.

Firebase Authentication

Firebase Authentication is a service within the Firebase platform that simplifies user authentication for mobile and web applications. It provides a cross-platform authentication system where developers can save their user's identity and access from all platforms in their project. Firebase authentication provides useful authentication methods including email/password, social media sign in, token-based sign in, phone sign in, and more.

Firebase Firestore

Firestore is a NoSQL cloud-based database provided by Google as part of the Firebase platform. It is designed to store and synchronize data in real-time across multiple clients, such as mobile and web applications. Firestore is known for its simplicity, scalability, and ease of use, making it a popular choice for developers building applications with dynamic and collaborative features.

Firebase Storage

Firebase Storage is a cloud-based storage solution provided by Google as part of the Firebase platform. It allows developers to securely and easily store and serve user-generated content, such as images, videos, and files, for mobile and web applications. Firebase Storage is designed to work seamlessly with other Firebase services, providing developers with a scalable and reliable storage solution.

Firebase Cloud Functions

Firebase Cloud Functions is a serverless compute service provided by Google Firebase. It allows developers to run backend code in response to events triggered by Firebase features, such as changes in the database, user authentication, or the arrival of new messages. Firebase Cloud Functions enable developers to build scalable and flexible backend functionality without managing servers. For more cloud functions instruction, view this ticket

Firebase Cloud Messaging

Firebase Cloud Messaging (FCM) is a cloud solution provided by Google Firebase for sending real-time messages and notifications to mobile and web applications. It enables developers to engage with users by delivering messages directly to their devices, helping maintain user engagement and enhancing the overall user experience.

Flutter Setup

Web Setup

Hardy-Z-Gu commented 5 months ago

Does "Firebase has already been setup" means that we don't need to set up anything locally now?

Yuanxyyds commented 5 months ago

For flutter, Yes and no further configuration is required. We already set up everything so whenever we call firestore.saveSomeData, the data will directly add into our firebase firestore database.

For Cloud Functions (One of our two Backend), refer to this ticket, you mainly need to clone CampusEatsUser repo and open the firebase folder inside it (Though we are thinking to export it into CampusEatsBackend Repo), install all dependencies, and then you can start writing some cloud functions.

For our second future backend (maybe in Flask or Django), I haven't read the documentation yet, but surely we need to learn and configure the firebase into it so that we can access our database

For Web, Nothing has been configured yet, and the web team is currently working on that so that we can read and write data to/from our firestore.