From c6efbfdfce6eb860453c2dc0142241defc5d58d5 Mon Sep 17 00:00:00 2001 From: Rudrank Basant <85751479+rudrankbasant@users.noreply.github.com> Date: Mon, 10 Jul 2023 03:45:40 +0530 Subject: [PATCH 1/6] docs: update readme --- README.md | 80 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 59 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 4f88228..03f8af4 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,55 @@
- - -
- John Doe
+ Rudrank Basant
- + From 1036292c33ddbc892df3d9f1f4f52eda779d893d Mon Sep 17 00:00:00 2001 From: Rudrank Basant <85751479+rudrankbasant@users.noreply.github.com> Date: Fri, 14 Jul 2023 01:53:00 +0530 Subject: [PATCH 2/6] docs: add description --- README.md | 56 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 03f8af4..56d073b 100644 --- a/README.md +++ b/README.md @@ -12,52 +12,62 @@ +--- +## Implementation / App Design +### 1. Caching: +The app utilizes the Hive library to cache all data, resulting in improved app performance. This caching mechanism allows for faster data access and enables the app to function offline seamlessly. +### 2. Reducing Firebase Reads: +One major feature of this app is that the app is designed to utilize fewer Firebase reads. Instead of fetching all data every time, or fetching after a particular period of time, the app makes calls only when data is updated at the firebase. For this, a collection of data versions is stored on the Firestore. Only this collection is fetched every time the app is opened. If the version of any data kind of data is changed, the remote data version is changed for that model only. Hence only a few data are fetched (and cached), and the local data version is updated to prevent unnecessary future API calls. +### 3.Notification in all three states: +The app sends notifications in all three states the smartphone is in - Foreground, Background and Terminated. ---- - -## Features +### 4. Topic Subscription: +Whenever a user favourites an event, a new topic is created using the event id (if it didn't already exist) and the user is subscribed to the topic (and unsubscribed when unfavourited). Hence apart from the general notifications, users can receive event-specific notifications as well. This feature was added later on as an update, hence there's a one-time function that syncs the favourite events and topic subscriptions. -### 1. Authentication: +### 5. Authentication: The authentication functionality supports three types of Firebase authentication methods, ensuring flexibility for users to choose their preferred login options: - [X] **Email and password authentication**: - Users can create an account by providing their email address and setting up a secure password. - Email Verification: Users receive an email verification link upon registration to confirm their email addresses. - - Password Reset: In case users forget their passwords, they can initiate a password reset process, which involves receiving a password reset link via email. - - [X] **Google authentication**: Users can also choose to sign in using their Google accounts. + - Password Reset: If users forget their passwords, they can initiate a password reset process, which involves receiving a password reset link via email. + - [X] **Google authentication**: Users can sign in using their Google accounts. - [X] **Apple authentication**: For users with Apple devices, the application supports authentication through their Apple accounts.-### 2. App Showcase / Guide: -The showcase functionality provides with three important guides that users should be made aware of immediately. - - [X] **Merch Section**: This guide provides users with a walkthrough of the merchandise section. - - [X] **Ongoing Events**: This guide offers insights into the ongoing events featured in the application. - - [X] **Favorite Event Button**: This guide focuses on the functionality of the "Favorite Event" button. +### 6. App Showcase / Guide: +The showcase functionality provides three essential guides that users should be made aware of immediately. + - [X] **Merch Section**: This guide provides users with the merch button location, for the boost of merch sales. + - [X] **Ongoing Events**: This guide offers insights into the ongoing events featured in the application, as this section is at the bottom of the home screen. + - [X] **Favorite Event Button**: This guide focuses on the functionality of the "Favorite Event" button, that users come across when they click on an event. This guide is essential as it notifies users that they will receive event-specific notifications once they favourite an event. -### 3. Bloc/Cubit: -### 4. Repository Pattern: -### 5. Caching: -### 6. Reducing Firebase Reads: -### 7. Firebase and Backend API calls: -### 8. Notification in all three states: -### 9. Topic Subscription: +### 7. Bloc/Cubit: The state management in the app is handled by the bloc/cubit architecture and has separate components for the following business logics: +- Authentication +- Announcements +- Events +- Favourites +- Hashtags/Instagram Posts (related to the event) +- Contacts +- Team +- FAQ +- Sponsors +- Merch +- Venues + +### 8. Repository Pattern: +The app utilizes a combination of Firebase and backend API calls to fetch data, allowing for seamless integration of real-time updates from Firebase as well as accessing additional data and functionality from the backend server. The app follows the Repository Pattern for the business logic coming from the backend API - namely Events and Hashtags/Instagram Posts. -## Dependencies - -- < dependency > -- < dependency > - ## Running ### 1. Clone the project From 20aff33ac1171dbdc444aaa28ce5002318898457 Mon Sep 17 00:00:00 2001 From: Rudrank Basant <85751479+rudrankbasant@users.noreply.github.com> Date: Fri, 14 Jul 2023 02:19:31 +0530 Subject: [PATCH 3/6] docs: visuals --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 56d073b..9dab51d 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,11 @@ --- +## Screens + +![Group 128](https://github.com/rudrankbasant/riviera2023-app/assets/85751479/0827057c-86ce-45cd-b42a-36d5c0d66729) +![Group 130](https://github.com/rudrankbasant/riviera2023-app/assets/85751479/2f8900c9-de91-4ed8-8ee9-651c1a1c9b0d) + ## Implementation / App Design @@ -28,9 +33,7 @@ The app sends notifications in all three states the smartphone is in - Foregroun ### 4. Topic Subscription: Whenever a user favourites an event, a new topic is created using the event id (if it didn't already exist) and the user is subscribed to the topic (and unsubscribed when unfavourited). Hence apart from the general notifications, users can receive event-specific notifications as well. This feature was added later on as an update, hence there's a one-time function that syncs the favourite events and topic subscriptions. - ### 5. Authentication: - The authentication functionality supports three types of Firebase authentication methods, ensuring flexibility for users to choose their preferred login options: - [X] **Email and password authentication**: - Users can create an account by providing their email address and setting up a secure password. @@ -39,7 +42,6 @@ Whenever a user favourites an event, a new topic is created using the event id ( - [X] **Google authentication**: Users can sign in using their Google accounts. - [X] **Apple authentication**: For users with Apple devices, the application supports authentication through their Apple accounts. - ### 6. App Showcase / Guide: The showcase functionality provides three essential guides that users should be made aware of immediately. @@ -47,8 +49,8 @@ The showcase functionality provides three essential guides that users should be - [X] **Ongoing Events**: This guide offers insights into the ongoing events featured in the application, as this section is at the bottom of the home screen. - [X] **Favorite Event Button**: This guide focuses on the functionality of the "Favorite Event" button, that users come across when they click on an event. This guide is essential as it notifies users that they will receive event-specific notifications once they favourite an event. - - +![Group 131](https://github.com/rudrankbasant/riviera2023-app/assets/85751479/8494ea9b-1872-41a0-aad4-8cde40e8083e) + ### 7. Bloc/Cubit: The state management in the app is handled by the bloc/cubit architecture and has separate components for the following business logics: - Authentication - Announcements From 0d207c8a0e3f9bbd672b2a8534418fd0c334ca3b Mon Sep 17 00:00:00 2001 From: Rudrank Basant <85751479+rudrankbasant@users.noreply.github.com> Date: Fri, 14 Jul 2023 02:57:41 +0530 Subject: [PATCH 4/6] docs: update --- README.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9dab51d..8259a1b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Official Riviera App- < Insert Project Description Here > Riviera 23 is a mobile app designed for the vibrant cultural event called Riviera. With a user base of over 8000+ users, Riviera 23 quickly became the go-to platform for event information, announcements, merchandise, and real-time notifications. Official Riviera App- Riviera 23 is a mobile app designed for the vibrant cultural event called Riviera. With a user base of over 8000+ users, Riviera 23 quickly became the go-to platform for event information, announcements, merchandise, and real-time notifications. Riviera 23 is a mobile app designed for the vibrant cultural event called Riviera. With a user base of over 8000+ users, Riviera 23 quickly became the go-to platform for event information, announcements, merchandise, and real-time notifications. The app provides information about over 130+ cultural and sports event spanning over three days. @@ -106,6 +109,8 @@ flutter pub get ```bash flutter run ``` +## Download +Here are the [Google Play](https://play.google.com/store/apps/details?id=in.ac.vit.riviera23&hl=en&gl=US) and [App Store](https://play.google.com/store/apps/details?id=in.ac.vit.riviera23&hl=en&gl=US) links. ## Contributors From aa12f705832f1e72b3e881465dfda3ea2acc35b5 Mon Sep 17 00:00:00 2001 From: Rudrank Basant <85751479+rudrankbasant@users.noreply.github.com> Date: Sat, 15 Jul 2023 15:56:45 +0530 Subject: [PATCH 6/6] docs: update --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 14ca184..249823b 100644 --- a/README.md +++ b/README.md @@ -27,10 +27,11 @@ - [x] **Info Screen** - contains FAQs, Sponsors, Organizers, and Contact Info. - [x] **Profile Screen** - Profile Info about the user. -![Group 128](https://github.com/rudrankbasant/riviera2023-app/assets/85751479/0827057c-86ce-45cd-b42a-36d5c0d66729) +![Group 128 (1)](https://github.com/rudrankbasant/riviera2023-app/assets/85751479/6d0cc024-5c4d-497e-a993-dbb07a6629b6) +![Group 133](https://github.com/rudrankbasant/riviera2023-app/assets/85751479/cd5cce99-06a1-45b3-b978-1ff85d6bc613) ### 3. Sub Screens: -- [x] **Merch Screen** - all merchandise listed, with option to view more. +- [x] **Merch Screen** - all merchandise listed, with the option to view more. - [x] **Announcement Screen** - all important announcements sorted and nested by date. ![Group 130](https://github.com/rudrankbasant/riviera2023-app/assets/85751479/2f8900c9-de91-4ed8-8ee9-651c1a1c9b0d) @@ -110,7 +111,8 @@ flutter pub get flutter run ``` ## Download -Here are the [Google Play](https://play.google.com/store/apps/details?id=in.ac.vit.riviera23&hl=en&gl=US) and [App Store](https://play.google.com/store/apps/details?id=in.ac.vit.riviera23&hl=en&gl=US) links. +Here are the [Google Play](https://play.google.com/store/apps/details?id=in.ac.vit.riviera23&hl=en&gl=US) and [App Store](https://play.google.com/store/apps/details?id=in.ac.vit.riviera23&hl=en&gl=US) links. +> **NOTE:** The app has been removed from the App Store by the client few weeks after the event concluded. ## Contributors |