Giter Site home page Giter Site logo

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

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

View Android mobile application written using the Jetpack Compose toolkit

License: MIT License

Kotlin 100.00%
android dependency-injection firebase jetpack-compose kotlin mobile-app

view-android-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 Jetpack Compose toolkit. The main libraries used are the following:

Firebase Integration:

  • com.google.firebase:firebase-auth-ktx: Firebase Authentication library for Kotlin
  • com.google.firebase:firebase-firestore: Firebase Firestore library.
  • com.google.firebase:firebase-storage: Firebase Cloud Storage library.

Dependency Injection:

  • com.google.dagger:hilt-android: Hilt for dependency injection in Android
  • androidx.hilt:hilt-navigation-compose: Hilt integration with Compose navigation

Kotlin Coroutines:

  • org.jetbrains.kotlinx:kotlinx-coroutines-core: Core coroutines functionality
  • org.jetbrains.kotlinx:kotlinx-coroutines-android: Coroutines support for Android
  • org.jetbrains.kotlinx:kotlinx-coroutines-play-services: Coroutines extension for Google Play services

Image Loading:

  • io.coil-kt:coil-compose: image loading library for Compose

Testing:

  • androidTestio.mockk:mockk: Mockk framework for Android instrumented tests.
  • androidTestandroidx.test.ext:junit: JUnit testing framework for Android.
  • androidTestandroidx.compose.ui:ui-test-junit4: Compose UI testing framework
  • testcom.google.dagger:hilt-android-testing: Hilt testing libraries.

Firebase Config

  • code/app : your google-services.json
  • code/app/src/main/res/values/strings.xml : your web_client_id
  • code/app/src/main/res/values-it/strings.xml : your web_client_id

view-android-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.