This repo contains source code for the official Flutter Client of Open CodeYard
A higly configurable community website template built using Flutter
Table of Contents
🚧Actively under development🚧
-
- This project uses Effective Dart Principles for documentation
- Run
dart doc .
from root of project directory to generate documentation webpage.
-
- Self Hosted using Firebase
- FCM for notification (Coming soon)
- Built using Provider Architecture for clean state management
- Google and GitHub login support for User Authentication
- Custom user management logic using Firestore
- Data caching for optimised network calls
- Profile Screen
- Fluid animations
- Modern, Material UI (we all love this!)
- Heavyily documented code (who doesn't like clean code)
-
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.
-
-
Flutter App:
- Install Flutter
- Setting up your ide
- Fork and clone this repository.
- cd into
ocyclient
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. - Create a file named env and store github_access_token in it (See env_example.txt file in project root for example). Check this link to see how to create a github access token.
- 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 /{document=**} { allow read, write: if request.auth != null; } } }
-
- 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.
-
-
Made with contributors-img.
Check Contributing.md for guidelines on contributing to this repo.
If you have a question, please feel free to contact us through email or our telegram community channel.