quran.com-frontend-next
quran.com-frontend-next copied to clipboard
[feature]: Mono repo
Is there an existing issue for this feature?
- [X] There is no exsiting issue for this feature
Summary
It would be really good if the project was based on a mono repo so that we can create a multi-platform app and share code between the platforms like web and mobile, this can be achieved using a tool called nx.dev
Your purposed solution for this feature
If we setup the project using nx workspace and then move the "next" version of the Quran app we can then share common components and also introduce other tools like react native for mobile. we can leverage existing work and have a consistent dev process. Example: https://www.youtube.com/watch?v=VUyBY72mwrQ&ab_channel=Fireship
https://nx.dev/guides/turbo-and-nx
Is there an existing issue for this feature?
- [x] There is no exsiting issue for this feature
Summary
It would be really good if the project was based on a mono repo so that we can create a multi-platform app and share code between the platforms like web and mobile, this can be achieved using a tool called nx.dev
Your purposed solution for this feature
If we setup the project using nx workspace and then move the "next" version of the Quran app we can then share common components and also introduce other tools like react native for mobile. we can leverage existing work and have a consistent dev process. Example: https://www.youtube.com/watch?v=VUyBY72mwrQ&ab_channel=Fireship
Alsalamu Alikum Ashraf, JazakAllah Khairn for proposing this. While mono-repos are very useful when you have multiple apps that share common codebase but given our current setup, I feel we won't be making much use of it. Our iOS and Android mobile apps are native and don't have much in common and our Frontend is just 1 repo. We might need mono-repos architecture in the future but as far as I can tell, we won't anytime soon. Again JazakAllah Khairan for your effort and proposal.
walaikum salam, jazakallah for getting back,in terms of supporting multiple platforms it can be achieved using the current codebase but switching out the UI components with native base https://nativebase.io/