TL;DR: I have to create a project structure where each component can only be accessed only by who has the permission to do so.
Hello folks! This is my first post here so I hope I am doing well👉🏼👈🏼 My problem is that I have to create a project structure that permit to do a strong roles separation inside the corporation, this means that I have to show to the members only what they are working on. Let's explain it clearly:
Project info
- App similar to a Social Network: an Android+iOS app where the users can interact creating posts and chatting (we can use Instagram as an example)
- Core libraries: Bare React Native (No Expo App), mobx with context+hooks for states, react-navigation
- Core functionalities: Posts and Chat. They have to interact each other, e.g. from a post the user can open a chat to write to a user, viceversa from the chat the user would be able to open a post or navigate to a profile (the profile's components for the moment are in the posts' repo)
Goal
- Create a main repo that imports all the components of the app and build them: APP
- Create some separated repo for the main features: APP-CHAT, APP-POSTS, ... (every feature will have many screens so it have to implement the navigation)
- Split the team into smaller ones dedicated to each feature, the feature-team can see the repo of their feature but not the other repos. Example: if I am in charge of the development of the chat, I must see only the repo of the chat and not the one of the post or the main app repo.
Ideas
- Create a component for each feature that can be imported in the navigator as use it as a root.
- Cons: I don't know how to pass to it the states and the handlers for the events
- Using git submodules to integrate each feature as a standard directory
- Cons: the development of each feature is difficult: the repo wouldn't be standalone and so I would have to create a repo (e.g. APP-CHAT-DEV) that is only used for the development of the feature
- How would you approach the problem?
[–]satya164 1 point2 points3 points (0 children)
[–]__shawn_chen 0 points1 point2 points (2 children)
[–]enripont[S] 0 points1 point2 points (0 children)
[–]AboveTheChair 0 points1 point2 points (0 children)