forked from devclub-iitd/summer-of-code-2024
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
77ef375
commit c4df15d
Showing
1 changed file
with
115 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
# DevClub Summer of Code 2024 | ||
|
||
## App Development: Week 4 | ||
|
||
### Overview | ||
Week 4 focuses on integrating key functionalities to enhance the application's capabilities. This includes API calling, payment gateway integration, invoice generation, updating sales data on Firestore, and implementing Firebase Analytics. | ||
|
||
### Goals: | ||
1. Implement HTTP API calls for functionalities like payment confirmations or order tracking. | ||
2. Integrate a payment gateway into the application for financial transactions. | ||
3. Enhance the invoice generation process and integrate storage solutions. | ||
4. Ensure accurate updating of sales data on Firestore after transactions. | ||
5. Implement Firebase Analytics to monitor user interactions and sales data. | ||
|
||
## Tasks: | ||
|
||
## Task 1: API Calls | ||
|
||
### Objective | ||
Implement functions to handle API requests including GET, POST, PUT, and DELETE, manage API endpoints, and handle errors and responses. | ||
|
||
### Steps | ||
|
||
1. **Create API Call Functions:** | ||
- Implement functions to make GET, POST, PUT, and DELETE requests using the Flutter HTTP package. | ||
|
||
2. **Manage API Endpoints:** | ||
- Structure and manage API endpoints effectively. | ||
|
||
3. **Error Handling and Response Processing:** | ||
- Implement error handling to manage various HTTP errors. | ||
- Process responses based on the API structure. | ||
|
||
### Resources | ||
- [Flutter HTTP package documentation](https://pub.dev/packages/http) | ||
- [Making HTTP Requests in Flutter](https://flutter.dev/docs/cookbook/networking/fetch-data) | ||
|
||
## Task 2: Payment Gateway Integration | ||
|
||
### Objective | ||
Integrate a payment gateway to handle financial transactions within the app. | ||
|
||
### Steps | ||
|
||
1. **Choose a Payment Gateway:** | ||
- Decide between Stripe and Razorpay based on features and support. | ||
|
||
2. **Integrate the Payment Gateway:** | ||
- Implement the chosen payment gateway within the checkout process of the application. | ||
|
||
3. **Testing Payment Integration:** | ||
- Conduct thorough tests to ensure that the payment process is robust and error-free. | ||
|
||
### Resources | ||
- [Stripe Documentation](https://stripe.com/docs) | ||
- [Razorpay Documentation](https://razorpay.com/docs/) | ||
|
||
## Task 3: Invoice Generation and Management | ||
|
||
### Objective | ||
Streamline the process of invoice generation and storage. | ||
|
||
### Steps | ||
|
||
1. **Enhance Invoice Generation:** | ||
- Generate PDF invoices that include all necessary transaction details. | ||
|
||
2. **Implement Invoice Storage:** | ||
- Store generated invoices in Firebase Storage securely. | ||
|
||
3. **Email Invoices to Customers:** | ||
- Set up automatic emailing of invoices to customers after transactions. | ||
|
||
### Resources | ||
- [Firebase Storage Documentation](https://firebase.google.com/docs/storage) | ||
- [Sending Emails in Flutter](https://pub.dev/packages/flutter_email_sender) | ||
|
||
## Task 4: Updating Sales Data on Firestore | ||
|
||
### Objective | ||
Ensure that sales data is accurately updated and synchronized in Firestore. | ||
|
||
### Steps | ||
|
||
1. **Design Firestore Data Structure:** | ||
- Create a comprehensive schema for sales data that supports efficient queries and updates. | ||
|
||
2. **Implement Data Update Functionalities:** | ||
- Develop functionalities to update sales records on Firestore after each transaction. | ||
|
||
3. **Ensure Data Synchronization:** | ||
- Implement mechanisms to ensure real-time synchronization of sales data across different parts of the application. | ||
|
||
### Resources | ||
- [Firebase Firestore Documentation](https://firebase.google.com/docs/firestore) | ||
|
||
## Task 5: Firebase Analytics Integration | ||
|
||
### Objective | ||
Utilize Firebase Analytics to track user interactions and derive insights from sales data. | ||
|
||
### Steps | ||
|
||
1. **Set Up Firebase Analytics:** | ||
- Integrate Firebase Analytics into your Flutter project. | ||
|
||
2. **Define Custom Events:** | ||
- Create custom events that help capture essential interactions and sales data. | ||
|
||
3. **Analyze and Utilize Data:** | ||
- Use the data gathered from Firebase Analytics to make informed decisions about app improvements and marketing strategies. | ||
|
||
### Resources | ||
- [Firebase Analytics Documentation](https://firebase.google.com/docs/analytics) | ||
- [FlutterFire Analytics Documentation](https://firebase.flutter.dev/docs/analytics/overview/) |