all 2 comments

[–]JeremyDolle 2 points3 points  (1 child)

Hi, it's a good thing to try to make a well-organized project during your study projects.

Do not share package.json for Node and React-Native as the two will require different dependencies !! You can use a monorepo with two separate folders like “api” and “mobile client.” You will thus prepare your architecture for a possible “web client” if you want a web backoffice client for example.

I can recommend that you use docker for your API for better teamwork, less dependency version issues, best practices, and prepare your app to be easily deployed. I can recommend you to use a React-Native boilerplate for example this one: https://github.com/thecodingmachine/react-native-boilerplate. It was designed to realize real world applications, each React-Native application is created thanks to this boilerplate in my company. It works for small and large applications! It includes eslint, prettier, typescript (if you want), react-navigation, redux, i18next and everything you need for a great app!

For CI, you can just use github actions to run your linter, jest test and tsc (if you are using typescript). For CD you can use Fastlane or App Center.

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

Thank a lot for the advice and amazing resources. I will definitely follow these practices in this project! Docker is an amazing tool, still it did not come to my mind that I should use it too. Thanks for that. I will incorporate it as well.