CCD Kolkata 2022
This repo contains source code for the official Flutter app of Cloud Community Days Kolkata 2022.
Table of Contents
About the project
🚧Actively under development🚧
-
Documentation 📓
- This project uses Effective Dart Principles for documentation
- Run
dart doc .
from root of project directory to generate documentation webpage.
-
Features
- Sessionize Api Integrated for speakers profile and schedule management
- Support for multiple sessions in same timeslot
- Self Hosted using Firebase
- FCM for notification
- Built using Provider Architecture for clean state management
- Google Auth for User Authentication
- Custom user management logic using Firestore
- Data caching for optimised network calls
- Ticket application and view
- Dashboard Screen (Bonus : Refer & Earn Logic Integrated)
- Profile Screen for event participants
- Dynamic Partners Screen Using GitHub Hosted Json
- Fluid animations
- Custom Navigation Stack
- Modern, Material UI (we all love this!)
- Heavyily documented code (who doesn't like clean code)
Getting Started
-
This project depends heavily on firebase. A few resources to get you started if this is your first Firebase project:
-
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
-
Project Setup
-
Flutter App:
- Install Flutter
- Setting up your ide
- Fork and clone this repository.
- cd into
ccd2022-app
directory. - Run
flutter clean
command. - Run
flutter pub get
command. - Run
flutter run
command.
-
Firebase:
-
Create a firebase project
-
Add android app with your package name in firebase console.
-
Enable Google Auth from
Authentication
menu in Firebase. -
Generate
SHA-1 key hash
for your debug keystore from your pc. This needs to be added toSHA certificate fingerprints
section under your android app inFirebase project settings
. Without this step Google login won't work. -
Enable Cloud Firestore
-
Recommended rules for Firestore
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /tickets/{ticket} { allow read : if request.auth != null; allow write: if false; } match /{document=**} { allow read, write: if request.auth != null; } } }
-
Recommended Rules for Cloud Storage
rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read: if true; allow write: if false; allow create: if false; allow update: if false; } } }
-
-
Enable Cloud Storage
-
Download
google_services.json
fromConsole
->Project Settings
. File is present in app section. SDK instructions found in the same page -
(Optional) Enable Cloud Messaging from Firebase Console if you wan't notifications to work in your app
-
(Optional) If released to play store get
SHA-1 key hash
from playstore and upload them to firebase, otherwise google sign in won't work in play store app.
-
-
-
How to Contribute?
Check Contributing.md for guidelines on contributing to this repo.
Contact Us
If you have a question, please feel free to contact us through email or our telegram community channel.