The Price Tracker app is designed to help users track product prices and receive notifications when prices drop to their desired levels. This documentation provides a comprehensive overview of the app's features, architecture, and user flows.
- User authentication and registration using Google Sign-In.
- Search and selection of products for price tracking.
- Input and submission of expected prices for tracking.
- Display of saved items and notifications based on price drops.
The LoginPage enables users to log in or register using their Google accounts. It integrates Google Sign-In functionality for a secure and seamless authentication process.
The ListBuilder component displays search results to users and allows them to select products for tracking. It provides an interactive interface for product selection.
Users can input their expected prices for tracked products using the PriceInput component. The input data is then submitted to Firebase Firestore for further processing.
The SavedList component showcases users' saved items and displays notifications when prices drop to the expected levels. It retrieves and displays data from Firebase Firestore.
The FinalPage provides users with feedback based on tracking results. It offers different messages and options based on whether the price is already lower than expected or if notifications will be sent.
Firebase Authentication is used for secure user login and registration. It employs Firebase's authentication services to ensure user privacy and data security.
Firestore serves as the app's database, storing user data, expected prices, and tracking results. It offers real-time synchronization and seamless data management.
FCM is employed to send push notifications to users. Notifications are triggered based on price drops and are delivered to users' devices through FCM.
The flow of data within the app starts with user inputs such as login details, expected prices, and product selections. These inputs interact with frontend components and are stored in Firestore. When tracked prices drop, notifications are sent using FCM, completing the data flow cycle.
- User accesses the app and lands on the LoginPage.
- User selects the Google Sign-In option to log in or register.
- Firebase Authentication verifies user credentials.
- Upon successful authentication, the user gains access to the app's main functionalities.
- User searches for products using the ListBuilder component.
- User selects products to track, which triggers interactions with Firestore.
- User inputs expected prices using PriceInput.
- PriceInput data is stored in Firestore for further processing.
- When tracked prices drop, FCM sends notifications to users.
- Users receive notifications on their devices via FCM.
The app integrates the following external services:
- Flask Server: A lightweight web server built using Flask.
- Firebase Cloud Messaging (FCM): Provides push notification services.
The Price Tracker app utilizes the following third-party libraries:
firebase_auth
cloud_firestore
firebase_messaging
google_sign_in
provider
- Flask
- firebase-admin
- requests
The Price Tracker app was developed by Vishnukanth S & Subash D
For any inquiries or feedback, feel free to contact me at vkanthishnu@gmail.com.
License: MIT License