GithubHelp home page GithubHelp logo

cesarwillymc / mbcgroup Goto Github PK

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

Mobile application of authentification using Jetpack compose, GraphQL, RestApi

License: Apache License 2.0

Kotlin 100.00%
auth2 graphql jetpack-compose proguard rest-api webtoken

mbcgroup's Introduction

MBCGroup

CREDENTIALS

"email": "[email protected]" "password": "12345678"

CESAR CANAZA

Mobile developer willing to learn old and new technologies, I like the team work and communication. Thank you for check this project.

Architecture MVVM with clean

data (Repositories - Framework)

  • di: Contains the dependency injection with hilt
  • settings: Contains all the settings local (Convertes, SharedEncription) and network (Interceptor, Cookie, more)
  • sources: Contains all the content of each feature For example: Auth like framework database or retrofit the connection is through repository
    • di: Contains the dependency injection of the Feature like Auth
    • entities: Contains all the entities of the feature like Auth
    • mapper: Contains all the mapper of the feature
    • local: Contains the framework with the local storage
    • remote: Contains the framework to connect the data using voley, retrofit or other
    • repository files: Contains the interface and the implementation of the connections with the local and remote data

domain (Model - Use Case)

  • usecase:
    • entities: Contains all the entities in domain with the logic if they have
    • usecase Files: Contains each use case of the app where we can sort, filter and others

presentation (ViewModel - Screen UI)

  • Main Activity: Contains the main activity in jetpack compose
  • Screen Directory: Contains all the resources that manage a screen like View Model, CustomComposable, State, Screen
  • delegate: Contains Singleton classes that work when we need to share contents between ViewModel where we delegate the action to do something or save something light

Additional comments

  • ui: Package that contains all the layers like ** General Composables, NavigationComponent, Theme, Services**
  • util: Contains global Constants and Extension Functions

FILE WITH JAVA

  • domain/base/SuspendNoParamsUseCase.java
  • data/sources/search/mapper/SearchResultMapperImpl.java
  • data/sources/search/local/SearchLocalDataSourceImpl.java

Technology Stack

  • Kotlin Programming language
  • Java: Programming language
  • MVVM: Architecture design that help us to decouple our code in layers
  • Retrofit: Library that help us to consume ApiRest
  • JUnit: Framework that help us to test code
  • Kotlin Coroutines: Provides ways to manage threads very easily
  • Flow: Library that help us to manage the asynchronous stream data
  • Mockk: Library for Mock data in the unit test
  • Jetpack Compose: Framework for UI using Kotlin where we developed the code like puzzles
  • Hilt: Dependency Injection in Compile-Time
  • GraphQL: A query language for your API
  • Jetpack Navigation: library that simplify and streamline the navigation between composables or screens
  • Jacoco: Generate Files of the coverage of the unit test
  • KLint: Format the code for give my quality to the project
  • Detekt: Code analysis tool that help us to follow rules in the code
  • others like: Google accompanist, Turbine ....

Configuration:

Local.properties

Add this line

SHARED_PREFERENCES_NAME=DB
BASE_URL=https://survey-api.nimblehq.co/
BASE_URL_GQL=https://survey-api.nimblehq.co/graphql
CLIENT_SECRET=clientSecret that you provide me
CLIENT_ID=clientID that you provide me
DEBUG_KEY_PASSWORD=holacomoestas

Gradle Java

Go to Gradle JDK and change to Java17

Java

DOWNLOAD APP

Download the app by Google Drive

Download the app by artifact github

Go to Here

  • APK
    Later select the first workflow and download the apk
  • APK

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.