This was made by using expo!
It was started by using a bare React Native project, but I started having issues for installing Async Storage. Mismatching ruby version in my local environment, and stuff like that. For that reason, I decided to push it over to an expo implementation (which easily adds Async Storage in its configuration by default)
Screen.Recording.2024-02-01.at.15.36.39.mov
It was made simple, via custom hooks + Context API. For huge applications, I'd definitely pick up a decent library to make that work, and avoid "Context Hell". For this use case, Custom hooks + Context API is totally enough.
- I kept all the codebase into a
src
folder components
folder has all partial components- each component has an
index.ts
to export its main file, to import it in a better looking way screens
folder will place all the app's screens. But in our case, there's only the initial one. But I kept it anyway.
I tried to keep each commit well explained and separated, to make easier the rollback, if necessary.
The codebase has some comments for a soft deletion implementation, in case you prefer it. But I kept it with hard deletion anyways.
For running the app locally is quite simple and straightforward.
First, install the dependencies
$ npm i
Now, you can basically run it into your environment
$ npm run ios
# or npm run android
That's it! Thank you!