Giter Site home page Giter Site logo

marcobendinelli / view-flutter-mobile-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 8.01 MB

View mobile application written using the Flutter framework

License: MIT License

Kotlin 0.01% Dart 94.10% Swift 0.31% Objective-C 0.01% CMake 2.27% C++ 2.91% C 0.17% HTML 0.22%
dart dependency-injection firebase flutter mobile-app

view-flutter-mobile-app's Introduction

View ๐Ÿ“ฑ

View is a Mobile Application allowing users to write and read articles or blogs based on their interests

Navigation Graph

navigation_Graph

Screens and Features

Authentication

  • Email and Password Signin / Signup
  • Google Signin / Signup
  • Reset Password
  • Form Validation
  • Contributors / Users and Topics Selection phase after first application access

screens_auth

screens_signup

Home

  • For You section: posts are shown based on the current selected filter
  • Trending Now section, i.e., most saved posts
  • Following section: following users posts
  • Posts are loaded as a Stream for instant updates
  • More Posts are loaded on end list reaching for better performances

screens_home

Search and Bookmarks

  • Posts can be searched by simply typing the name, topic or author of the Post
  • Bookmarked Posts are placed in a single spot

screens_search_saved

Settings and User Profile

  • User Profile Customizaion
  • User statistics

screens_user_profile

Post

  • Post creation with required fields for button enabling
  • Image Upload

screens_post

More

  • Dark Mode
  • Localization for ๐Ÿ‡บ๐Ÿ‡ธ/๐Ÿ‡ฌ๐Ÿ‡ง and ๐Ÿ‡ฎ๐Ÿ‡น languages
  • Responsive Design for tablets

Architecture

  • The S.O.L.I.D principles are adhred to make the applications scalable, testable, maintanable, and resilient to change
  • The Dependency Injection design pattern is implemented

architecture

Testing

The application is not fully tested. Main tests like Unit, Integration, and End-To-End are used to analyze testing within the framework

Tools

The application is written using the Flutter framework. The main packages used from the pub.dev platform are the following:

UI and Design:

  • flutter_screenutil: helps with responsive UI design by adapting to different screen sizes

State Management and Logic:

  • bloc and flutter_bloc: facilitate the implementation of the BLoC pattern for State Management
  • bloc_concurrency and stream_transform: assist in handling asynchronous operations and concurrency
  • get_it and injectable: dependency injection frameworks for managing object dependencies
  • flow_builder: allows navigation and state management based on flows

Form Handling:

  • formz: helps with form validation and management

Firebase Integration:

  • firebase_storage, cloud_firestore, firebase_auth: Firebase SDKs for storage, database, and authentication
  • google_sign_in: allows integration with Google sign-in services

Testing:

  • test, bloc_test, and mocktail: assist in writing unit tests and mocking dependencies
  • fake_cloud_firestore, firebase_storage_mocks, firebase_auth_mocks, google_sign_in_mocks: mocking libraries for testing Firebase services and Google sign-in

Utility:

  • intl: provides internationalization and localization utilities
  • image_picker: allows users to pick images from the device's gallery or camera

Firebase Config

  • code/android/app : your google-services.json
  • code/lib : your firebase_options.dart

view-flutter-mobile-app's People

Contributors

marcobendinelli avatar

Watchers

 avatar

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.