A collaborative social reading platorm

Overview


A collaborative social reading platorm.

license Contributor Covenant

The idea is for users to write next branches.

This way it is possible to create an infinite amount of alternative stories (a tree of possiblities).

Features

  • login, signup and logout
  • create, update and delete a tree
  • create, update and delete a branch
  • liking and bookmarking trees
  • liking and bookmarking in branches

Screenshots

Authentication pages
Login Sign up
Home pages
Home (top trees)
Library pages
Library (trees) Library (branches)
Tree page
Tree
Branch page
Branch 1 Branch 2 Branch 3

Firebase

Option 1 (Recommended)

Make sure to follow this guide to install Firebase CLI.

Follow this guide to generate Firebase Options then rename the generated file to lib\development_firebase_options.dart for dev and/or lib\production_firebase_options.dart for prod.

You'll have to run the cli twice to generate dev and prod.

Option 2

Create file lib\development_firebase_options.dart for dev and/or lib\production_firebase_options.dart for prod then copy the following config:

development_firebase_options.dart/production_firebase_options.dart
// File generated by FlutterFire CLI.
// ignore_for_file: lines_longer_than_80_chars
import 'package:firebase_core/firebase_core.dart' show FirebaseOptions;
import 'package:flutter/foundation.dart'
    show defaultTargetPlatform, kIsWeb, TargetPlatform;

/// Default [FirebaseOptions] for use with your Firebase apps.
///
/// Example:
/// ```dart
/// import 'firebase_options.dart';
/// // ...
/// await Firebase.initializeApp(
///   options: DefaultFirebaseOptions.currentPlatform,
/// );
/// ```
class DefaultFirebaseOptions {
  /// @nodoc
  static FirebaseOptions get currentPlatform {
    if (kIsWeb) {
      return web;
    }
    // ignore: missing_enum_constant_in_switch
    switch (defaultTargetPlatform) {
      case TargetPlatform.android:
        return android;
      case TargetPlatform.iOS:
        return ios;
      case TargetPlatform.macOS:
        throw UnsupportedError(
          'DefaultFirebaseOptions have not been configured for macos - '
          'you can reconfigure this by running the FlutterFire CLI again.',
        );
    }

    throw UnsupportedError(
      'DefaultFirebaseOptions are not supported for this platform.',
    );
  }

  /// @nodoc
  static const FirebaseOptions web = FirebaseOptions(
    apiKey: 'YOUR-WEB-API-KEY',
    appId: 'YOUR-WEB-APP-ID',
    messagingSenderId: 'YOUR-MESSAGING-SENDER-ID (same for all)',
    projectId: 'YOUR-PROJECT-ID (same for all)',
    authDomain: 'YOUR-AUTH-DOMAIN',
    databaseURL: 'YOUR-DATABASE-URL (same for all)',
    storageBucket: 'YOUR-STORAGE-BUCKET (same for all)',
    measurementId: 'YOUR-MEASUREMENT-ID',
  );

  /// @nodoc
  static const FirebaseOptions android = FirebaseOptions(
    apiKey: 'YOUR-ANDROID-API-KEY',
    appId: 'YOUR-ANDROID-APP-ID',
    messagingSenderId: 'YOUR-MESSAGING-SENDER-ID (same for all)',
    projectId: 'YOUR-PROJECT-ID (same for all)',
    databaseURL: 'YOUR-DATABASE-URL (same for all)',
    storageBucket: 'YOUR-STORAGE-BUCKET (same for all)',
  );

  /// @nodoc
  static const FirebaseOptions ios = FirebaseOptions(
    apiKey: 'YOUR-IOS-API-KEY',
    appId: 'YOUR-IOS-APP-ID',
    messagingSenderId: 'YOUR-MESSAGING-SENDER-ID (same for all)',
    projectId: 'YOUR-PROJECT-ID (same for all)',
    databaseURL: 'YOUR-DATABASE-URL (same for all)',
    storageBucket: 'YOUR-STORAGE-BUCKET (same for all)',
    androidClientId: 'YOUR-ANDROID-CLIENT-ID',
    iosClientId: 'YOUR-IOS-CLIENT-ID',
    iosBundleId: 'YOUR-IOS-BUNDLE-ID',
  );
}

Finally, in your Firebase project:

  • enable email/password, Google and anonymous authentication
  • copy firestore.rules content or create your own rules

For web

Create file web/index.html and then copy the following code:

index.html
wine ">
>
<html>

<head>
  
  <base href="/">

  <meta charset="UTF-8">
  <meta content="IE=Edge" http-equiv="X-UA-Compatible">
  <meta name="description" content="A new Flutter project.">

  <meta name="google-signin-client_id" content="YOUR GOOGLE CLIENT ID">

  
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <meta name="apple-mobile-web-app-title" content="wine">
  <link rel="apple-touch-icon" href="icons/Icon-192.png">

  <title>winetitle>
  <link rel="manifest" href="manifest.json">
head>

<body>
  
  <script>
    var serviceWorkerVersion = null;
    var scriptLoaded = false;
    function loadMainDartJs() {
      if (scriptLoaded) {
        return;
      }
      scriptLoaded = true;
      var scriptTag = document.createElement('script');
      scriptTag.src = 'main.dart.js';
      scriptTag.type = 'application/javascript';
      document.body.append(scriptTag);
    }

    if ('serviceWorker' in navigator) {
      // Service workers are supported. Use them.
      window.addEventListener('load', function () {
        // Wait for registration to finish before dropping the 
You might also like...

(Full-stack) Fully functional social media app (Instagram clone) written in flutter and dart with backend node.js and Postgres SQL.

(Full-stack) Fully functional social media app (Instagram clone) written in flutter and dart with backend node.js and Postgres SQL.

Photoarc A Fully functional social media app written in flutter and dart using node.js and Postgres SQL as backend. Backend Repository Demo Download t

Jan 5, 2023

A fully functional social media app built with flutter with multiple features

A fully functional social media app built with flutter with multiple features

🔥 🔥 Wooble Social Media App Wooble is a fully functional social media app with multiple features built with flutter and dart. Star ⭐ the repo if you

Jan 3, 2023

🏃‍♂️🎽social media with a sports flavour

🏃‍♂️🎽social media with a sports flavour

Welcome to Runbhumi 👋 A Flutter app which aims to build a sports community 🏠 Homepage ✨ Prototype 💪 Motivation/Inspiration 📥 Install flutter pub g

Nov 22, 2022

Pure: a Social Network Messenger app developed using Flutter

Pure: a Social Network Messenger app developed using Flutter

Pure Pure is a Social Network Messenger app developed using Flutter. Generated b

Oct 7, 2022

KGE social login (google, facebook)

social_logain A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Dec 23, 2021

A social messging App UX with Flutter

A social messging App UX with Flutter

The project is maintained by a non-profit organisation, along with an amazing collections of Flutter samples. We're trying to make continuous commits

Sep 4, 2021

Flutter Ghana UI Challenge Week 1 - Social Media App

Flutter Ghana UI Challenge Week 1 - Social Media App

Flutter Ghana UI Challenge Week 1 - Social Media App A Flutter UI implementation of a Social Media App inspired by Outcroud's desgin on Dribble. Star

Aug 11, 2022

FlutterSocialAppUIKit - Flutter representation of a Social App Concept.

FlutterSocialAppUIKit - Flutter representation of a Social App Concept.

🔥 🔥 Flutter Social App Concept Flutter representation of a Social App Concept i found on Uplabs. Star ⭐ the repo if you like what you see 😉 . Image

Jan 6, 2023

Flutter mobile app with firestore authentication including Email and Social auth.

Flutter mobile app with firestore authentication including Email and Social auth.

Flutter mobile app with firestore authentication including Email and Social auth.

Dec 7, 2022
Comments
  • Settings not found after login

    Settings not found after login

    After the very first login, settings are not found.

    1. Go to the home page as an anonymous user.
    2. Click on a tree,
    3. Login.
    4. An error message should be displayed ("Settings were not found!").

    Expected behavior No error message.

    Smartphone (please complete the following information):

    • Device: Samsung Galaxy S9+
    • OS: Android
    opened by SSebigo 0
  • Access tree as anonymous user

    Access tree as anonymous user

    An anonymous user cannot access a tree (inadvertently put auth checking...).

    1. Go to the home page as an anonymous user.
    2. Press any tree.
    3. A login page is displayed.

    Should display tree information (view count should not be updated, likes/bookmarks button should not be displayed).

    • Device: Samsung Galaxy S9+
    • OS: Android
    opened by SSebigo 0
  • Tree views/likes/bookmarks shouldn't be visible

    Tree views/likes/bookmarks shouldn't be visible

    Describe the bug The *views, likes, and bookmarks buttons shouldn't be visible when disabled in settings (disabled by default).

    To Reproduce Steps to reproduce the behavior:

    1. Go to Home page
    2. Click on any Tree
    3. The buttons mentioned above are visible

    Expected behavior The buttons mentioned above shouldn't be visible.

    Screenshots If applicable, add screenshots to help explain your problem.

    Smartphone (please complete the following information):

    • Device: Samsung S9+
    • OS: Android 10
    • Flutter: 2.10.1

    Additional information: Inside tree_state there's a object Settings, use the data inside to conditionally display those buttons.

    enhancement 
    opened by SSebigo 0
Owner
Killy IO
Killy IO
Social network - Social networking application with Flutter

Social Network Social networking application with Flutter

Abolfazl Zarei 9 Mar 12, 2022
Social app flutter blocs - A social app using flutter blocs

social_app Do kiến thức mình của mình đi cóp nhặt nên có một số chức năng mình l

Puddin 8 Oct 2, 2022
News App developed with Flutter featuring beautiful UI, category-based news, story for faster news reading, inbuilt article viewer, share feature, and more.

Ariel News App developed with Flutter featuring beautiful UI, category-based news, story for faster news reading, inbuilt article viewer, share featur

Hash Studios 30 Nov 9, 2022
Cross-platform flutter plugin for reading and writing NFC tags. Not maintained anymore - not looking for new maintainer, fork instead.

nfc_in_flutter NFC in Flutter is a plugin for reading and writing NFC tags in Flutter. It works on both Android and iOS with a simple stream interface

Andi Semler 113 Sep 28, 2022
EBooks - eBook (reading book) App UI Built With Flutter

eBook App - Flutter UI eBook (reading book) app design by flutter, at home page

Ashirbad Swain 18 Dec 15, 2022
Trying to develop an open source social media app

Social Media App (नाम में क्या रखा है :P) Getting Started To run this Project you'll need an account on the Supbase. After creating an account run bel

Bhavik Makwana 32 Dec 13, 2022
social recipe app

fooderlich A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Keneth Kogi 2 Nov 3, 2021
💘 This is my Youtube tutorial of my Social Media App Generation Made in Flutter 💘

?? Generation Tutorial ?? ⌛ This is the project source code of my youtube video tutorial of ⌛ ?? Flutter Social Media App Tutorial 2021 ?? ?? Tutorial

Samarpan Dasgupta 17 Nov 24, 2022
A platform to make your social media experience more safe

cyber_watch A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

Waleed Umar 0 Feb 25, 2022
Social media app which is made entirely with flutter and firebase

Post It Android Please replace my googleservice.json with yours. Post it is a social media app which is made entirely with flutter and firebase. The u

Saket D Shetty 96 Dec 18, 2022