Git Product home page Git Product logo

buddysearch's People

Contributors

ihorvitruk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

buddysearch's Issues

DaggerAppComponent

In module presentation, class App, your method intializeInjector()

You have appComponent = DaggerAppComponent

in the import statements it shows its supposed to be in the

import com.buddysearch.android.presentation.di.component.DaggerAppComponent;

only see ActivityComponent and AppComponent

Entities depend on Realm

In the entities/realm, the classes extend RealmObject. Isn't this a violation of the dependency rule?

Should I use this pattern?

This question will have more to do with the pattern than with this example of implementation.

I'm trying to understand the clean architecture, and getting in touch for the first time with RxJava and injection dependencies.

Considering that it'll take me even longer to understand all this, I'd like to know before starting to use this project as a base if I could use this pattern for the development of my application, all the functionality of the application (or most of it) will be Based on a map, and from certain conditions such as the user's position, one functionality or another will be available. Very similar to the way Google Maps works. My doubt arises more than anything because I consider that all the functionality of the map could be done in the same activity, and specific things like the entrance of users could be handled in other activities and I don't know if the clean architecture will complicate things more for me (I'm beginner) .

All this is for the sake of implementing an architecture that allows other developers to integrate into the future in the project and quickly.

regards

UserDto setId() missing

In Data module manager/impl AuthMangagerImpl you have saveUser(FirebaseUser user, Subscsriber subscriber)

There you create a new UserDto and call setId.

The only set Id i found was from Entity, am I doing something wrong, the code won't compile for me?

Should there be getters and setters for the Dto?

Data specific model used in presenter

You shouldn't use any data layer specific model in Presenters.

LoginPresenter uses GoogleSignInAccount objects, which is specific to the Login SDK you chose, but this dependencie should not be visible inside the presenter.
This violate the Clean Architecture boudaries.

If you study Uncle Bob's clean architecture layers, you can see that the Presenters are one level below the data layer, so the models can't be shared between them if it's a data layer's model.

Any better way to arrange presenter layer?

You place all classes with same type into same group. ie presenter classes are under /presenter package, activities are under /activity package, ...
1 question: How will you manipulate them in real project where you may have many activities, fragments, views, presenters,...?

onCreateLoader() in BaseActivity memory leak

First of all I want to thank you for this demo showing how to implement Clean Architecture using MVP in combination with Dagger2 and other useful tools.

I have noticed that the following issue with the current implementation:
The presenter object creation in BaseActivity#onCreateLoader() could create memory leaks.

MVVM

Do you intend to implement the MVVM pattern and eliminate the use of Loader?

Missing generic type for BasePresenter

BaseActivity should declare the generic type for BasePresenter also. It should be:

public abstract class BaseActivity<VIEW extends View,
        PRESENTER extends BasePresenter<VIEW>,
        BINDING extends ViewDataBinding> extends AppCompatActivity
        implements LoaderManager.LoaderCallbacks<PRESENTER> {

This will also fix any issues with: "Unchecked call to as a member of raw type"

Support for Flowable

Hello,

This project is very nice for learning purposes, but I encountered an blocking issue.
I need to use Flowable on a stream of data and the Use case of the domain interactor relies only on Observable. How do you recommend to approach this limitation?

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.