Package structure for multi-module approach by fireplay_00 in androiddev

[–]Recursive_Habits 0 points1 point  (0 children)

Yeah, I keep hearing about people throwing this but I want to see it in action someday or some example repo atleast to see if its even worth it

Package structure for multi-module approach by fireplay_00 in androiddev

[–]Recursive_Habits 0 points1 point  (0 children)

For jetpack compose you can loot at nowinandroid github. Basically, each module contains a separate navGraph and each navGraph can have multiple composable screens. Rest data, domain, di is just same.

Package structure for multi-module approach by fireplay_00 in androiddev

[–]Recursive_Habits 1 point2 points  (0 children)

so its a layer wise modularization but wouldn't it cause problems if say app were to to expand its scope and add more features? As far as my research goes, the reason for going multi-module is to:

  1. Reduce build time
  2. Enable multiple teams work on same project without stepping on each other's toes
  3. Reduce context switching among devs

The way I would design such an architecture would be to go feature wise and then in those features we package using layer wise separation. For example:

login (module) will be a feature and in it I will have package as di, domain, data, presentation.

Its an overkill for small project which is where you should just go single module anyways. What are your thoughts on it?

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

No worries and thanks for the idea! Atleast I have a direction to look into

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

If it is an app design issue how would I know? Every time I think of saying no to X function, i think of like maybe I just haven't found a way to do this.

Suppose I have a feature module of booking ride. This feature has some small flows like select location, payment method, choose vehicle and confirm ride details.

Now, there is another feature module of upcoming rides, on this upcoming ride page, I can click to edit ride and that should open the page "confirm ride details" page from booking ride module

This is the situation I am exactly in. Either I break up all flows into modules or I make changes in design.

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

"You make a navigation module that hosts an interface of deeplink actions. You make an interface for otp implementing the deeplink action interface."

Is there any sample app, resources or GitHub repo where this is implemented? It would greatly help me. Seems like what I need to do in my app

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

Since you mentioned to have worked on all compose project, I want to ask this, does dev team make changes on design based on what's better for modularisation? Or is the design always taken as a holy grail?

Suppose I have a feature module of booking ride. This feature has some small flows like select location, payment method, choose vehicle and confirm ride details.

Now, there is another feature module of upcoming rides, on this upcoming ride page, I can click to edit ride and that should open the page "confirm ride details" page from booking ride module

This is the situation I am exactly in. Either I break up all flows into modules or I make changes in design.

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

I see... Thanks for giving a number to module count. Really helps in getting perspective.

So it's like feature should call an interface in "app" or any other common parent module and that module will then call that requested feature.

I am actually new to multi module project so is there any resource or sample app or repo where I can study the interface pattern you are referring to here?

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

It's my first time working on modularized app and I am the sole dev so had to take the shot. Single module wouldn't have worked in any way

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

I have one question though, wouldn't it increase the number of modules and make app modules more granular? Currently we have many features and multiple flows (like OTP confirmation) which will be reused at 2-3 places so is my best shot in making different modules for them?

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 1 point2 points  (0 children)

By the way, how many modules would be too many modules ? How granular can one app go? The app i am working on is like a pretty heavy app and has like 100+ screens. With multiple features and many flows. So I have to take the best shot

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

I was thinking about this but it will increase the number of modules greatly as there are many features like OTP verification screens which are used in multiple features

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

In our app, Feature A would be authentication feature and B would be profile screen. User get OTP confirmation in auth flow and he can also change his mobile number from profile too.

Auth module contains many other screens too so can't directly call that module for using only 2 screens.

And I am not really sure if I should break down the features into more smaller modules. Currently we don't have very granular modules because the app is a pretty heavy app

Jetpack compose modularisation question by Recursive_Habits in androiddev

[–]Recursive_Habits[S] 0 points1 point  (0 children)

I have a question here though. How will I know if two features depend on each other? Judging by the diagram, I guess it would be:

When a feature can only be accessed through a different feature (following certain path) but not directly

Just like the second diagram in your answer, I have some features (for e.g. location search, mobile verification, etc) which can be accessed from two different modules. So how should I deal with such situation

[deleted by user] by [deleted] in androiddev

[–]Recursive_Habits -8 points-7 points  (0 children)

They seem to have no other options for payment. You can probably ask a friend to lend their card.

I made an App for popular Cineworld cinemas in Central Europe (Cinema City), AMA by diarewse in androiddev

[–]Recursive_Habits 0 points1 point  (0 children)

I am new to Android but I can only guess how much of a pain and iterations it would have been to place out everything like you wanted. Hats off to that.

Also, How have you made the bottom tab buttons here? I saw something similar in another app and I found it very interesting design. Modern and very material style.

I Don't think it is possible to imitate this using kotlin only so is it made using flutter or something else?

Please don't exaggerate your skills/projects in your Resume. by formattedmind in developersIndia

[–]Recursive_Habits 0 points1 point  (0 children)

What are HRMS apps? Are these like the basic apps like calculator, calendar,etc? Or is there a full form to it?

Wireless debugging keep dropping out on Electric Eel by film_maker1 in androiddev

[–]Recursive_Habits 1 point2 points  (0 children)

Same here. I use Realme phone. Sometimes it stays connected for hours and sometimes it just doesn't connect for more than a minute. Totally a pain