GithubHelp home page GithubHelp logo

ashu12chi / brighterbee Goto Github PK

View Code? Open in Web Editor NEW
14.0 2.0 8.0 21.25 MB

This project is made for Droidrush 2020 under Avishkar (Techno-Management fest).

Home Page: https://ashu12chi.github.io/BrighterBee/

License: GNU General Public License v3.0

Kotlin 0.02% Swift 0.06% Objective-C 0.01% Dart 99.31% JavaScript 0.27% TypeScript 0.33%
flutter ios lerning reddit agora zefyr firebase-cloud-functions firestore-flutter dark-theme flutter-notification

brighterbee's Introduction

BrighterBee -by NP Devs

Developing a community for learners. Made for Droidrush: Avishkar MNNIT 2k20.

This app won 1st place in Droidrush.

Process flow of the app

  1. User can register on the app and choose communities he/she wants to be a member of.
  2. Users can post articles which may contain image, text, gif, video embedded.
  3. Users can upvote/ downvote and comment on any article.
  4. User can edit or delete only his/her post but admins can do it for all the posts.
  5. Views are counted for every article.
  6. Users can stream live video in a community and members of that community can join in to watch the stream.

Features

  1. Articles are in Rich Text Format with images embedded in them.
  2. One post can contain one image/ video other than the images present in text itself.
  3. Articles can be bookmarked.
  4. Communities have option to be made public/ private. Private community cannot be searched but members can only be invited via invite code.
  5. Member addition can be made such that admin verification required for it via a setting in community.
  6. Feed is generated considering the date of post, the number of upvotes/ downvotes and the number of comments.
  7. Users can follow each other to see others public posts in there feed.
  8. Users can see the profiles of other users with the posts which are from public groups.
  9. Articles and comments will be lazily loaded.
  10. Article posting, user follow, admin verification all send push notifications wherever necessary.
  11. Users/ posts/ communities can be searched using search bars present throughout the app.
  12. It is not necessary to write whole post in one go, users can benefit from the draft feature.
  13. The app has full Android 10+ dark theme support.

For more intricate details view screenshots attached below.

External libraries/APIs used

  1. Zefyr editor 0.12: for the Rich Text editor and viewer.
  2. Quill delta 1.0.0: to make Notus documents, which helps work on RTF format.
  3. Image picker 0.6.7: for picking images and videos from gallery or camera.
  4. Firebase Auth 0.18.1: for user login/ signup authentication.
  5. Firebase core 0.5.0 and Cloud Firestore 0.14.1: for using Google Cloud Firestore database.
  6. Image 2.1.18: for working on images, e.g., compressing them.
  7. Agora RTC Engine 3.1.3: for video calling.
  8. Firebase Cloud Messaging 7.0.2: for sending push notifications.
  9. Shimmer 1.1.2: for shimmer effect in cards
  10. Flutter Local Notifications 1.5.0: for displaying notifications
  11. Permission Handler 3.0.0: for easy permission handling
  12. Date Format 1.0.9: for easy date formatting
  13. Path Provider 1.6.18: for getting path for storing temporary files
  14. Firebase Storage 4.0.1: for using Firebase Cloud Storage
  15. fluttertoast 7.1.1: to display toast messages
  16. rxdart 0.24.1: for Firebase stream complex tasks handling
  17. Path 1.7.0: to work on file paths
  18. Chewie 0.9.10 and Video Player 0.10.9: for easy video player implementation
  19. Progress dialog 1.2.4: to show Progress Dialog
  20. Cached Network Image 2.3.3: for faster image loading by caching
  21. Shared Preferences 0.5.12: to enable Shared Preferences support
  22. Photo View 0.10.2: to display full screen zoomable and pannable images.
  23. URL Launcher 5.7.6: for URL launching
  24. Notus to HTML 0.0.7: to convert Notus Documents to HTML, for sharing
  25. share 0.6.5: for sharing content to other apps

Team details

  1. Ashutosh Chitranshi
  2. Nishchal Siddharth Pandey
  3. Anushka Srivastava

Get the project presentation here.

To try your hands on the project

Either get the latest APK from releases: https://bit.ly/35uR0uy,

Or;

  1. Clone the repository
  2. Create a Firebase project, add com.npdevs.brighter_bee to it, edit rules as required.
  3. Place google-services.json in /android/app/ folder.
  4. Build the app, deploy to your device and you are good to go.

Screenshots

Login Login Register Register Reset password Reset password
Home screen feed Home screen feed Post view Post view Comments and Replies Comments and Replies
Post options for creator Post options for creator Post options for viewer Post options for viewer Create post Create post
Warning to save draft Warning to save draft Community tab feed Community tab feed List of member communities List of member communities
Create community Create community List of all public communities, button at top for private ones List of all communities Community home Community home
Community options Community options Admin control panel Admin control panel Community profile Community profile
Live stream Live stream Notifications screen Notifications screen Notifications Notifications
More options More options Search posts Search posts Following list Following list
Saved posts Saved posts Saved in community Saved in community Search communities Search communities
Search users Search users User profile User profile User's posts User's posts
Leave community by swipe Leave community by swipe SettingsSettings Dark theme feed Dark theme feed
Dark theme more options screen Dark theme more options screen Dark theme profile Dark theme profile Dark theme discover screen Dark theme discover screen

Class diagram

Class diagram


Thank you! PRs are always welcomed!

Stay safe!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.