Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discussion] Project structure #1

Open
narcodico opened this issue Mar 13, 2020 · 6 comments
Open

[Discussion] Project structure #1

narcodico opened this issue Mar 13, 2020 · 6 comments

Comments

@narcodico
Copy link

First of all nice approach and some heavy work you did here. Secondly, I feel like a per feature structure would be really beneficial, since you'd get everything in one place. Having to navigate between folders when working on a specific feature is pretty annoying I'd say.

@pedromassango
Copy link

pedromassango commented Mar 13, 2020

I agree. I was thinking if we can have the project structure but for each feature:

auth:

  • presentation
  • domain
  • infrastructure

chat:

  • presentation
  • domain
  • infrastructure

I think that with this structure it is more easy to refactor or work in a feature

@narcodico
Copy link
Author

narcodico commented Mar 13, 2020

If we could stay away from creating folders as much as we can, that'd be great, since having deeply nested folders is painful. Having a shared folder at the feature level containing all kind of reusable bits would also help I think.

@fabriziocacicia
Copy link

I agree with @pedromassango.
This structure lets to achieve a better modularization of the project: in this way a developer or an entire team can work to features in a more isolated manner avoiding to touch parts of the structure that other developers are working on reducing possible conflicts.

@ResoDev
Copy link
Contributor

ResoDev commented Apr 16, 2020

Pardon me for the late reply. I found that creating folders on a per-feature basis makes navigating around the project harder, actually. What @pedromassango proposes is fine and it's how the project was structured in the clean architecture series. Either organization is fine, it's really up to your preference.

A shared "feature" is a good idea, @RollyPeres.

@fabriziocacicia I'm not sure I entirely agree on this one. Developers can still work on just one feature, let's say it's "auth". No matter how the folders are structured, the developer doesn't have to venture into other features' code to write "auth" code.

@ResoDev ResoDev changed the title Project structure [Discussion] Project structure Apr 19, 2020
@Jomik
Copy link

Jomik commented Apr 30, 2020

Are features completely decoupled from other features?
Because if they are, then either structure makes sense.
If they are not, then I think it makes sense to have feature folders in the layer folders, such that feature A could use stuff from feature B.

@pedromassango
Copy link

We can always have core folders for commom objects too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants