![](https://private-user-images.githubusercontent.com/88680118/253817524-2255380c-855a-47a3-a306-3b36aea86697.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk5ODE5NjcsIm5iZiI6MTcxOTk4MTY2NywicGF0aCI6Ii84ODY4MDExOC8yNTM4MTc1MjQtMjI1NTM4MGMtODU1YS00N2EzLWEzMDYtM2IzNmFlYTg2Njk3LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDA0NDEwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmOGE0OWI3YjA4NDMzMmVmNDk5MWYxOGZiNTk1ZmFiNjY3OTg0NDk0MWJhNWYzMzA4Y2Y1ZjVjZGViMDY1NjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.U5G-KoclqQ_CXMzrewq5lOat-SimejpJ6cJoj4FGw0o)
![](https://private-user-images.githubusercontent.com/88680118/253817567-0945044b-8133-4e31-9430-be28e17f5553.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk5ODE5NjcsIm5iZiI6MTcxOTk4MTY2NywicGF0aCI6Ii84ODY4MDExOC8yNTM4MTc1NjctMDk0NTA0NGItODEzMy00ZTMxLTk0MzAtYmUyOGUxN2Y1NTUzLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDA0NDEwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM4OGYyNDgwMWYxMzk5MWZkMTI3NDMzN2VhNjIzMjg0MmZhNzljMWZlMDAxN2NjNzk4ZTdkZjZkYzMyNTc3MzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Rmeu1Ubxj3Bte2Yi-fVGAgJvnNCljcOOvPiBVvGY8Lw)
![](https://private-user-images.githubusercontent.com/88680118/253817573-bdb66eda-c5fc-49fd-8a7d-607fc8994130.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk5ODE5NjcsIm5iZiI6MTcxOTk4MTY2NywicGF0aCI6Ii84ODY4MDExOC8yNTM4MTc1NzMtYmRiNjZlZGEtYzVmYy00OWZkLThhN2QtNjA3ZmM4OTk0MTMwLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDA0NDEwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUzMzM1MmUzZmRjNzAyOGNhNmQxMWIwYTQ3NTllZjZlOThjYjJiYTA3NzRhYzI2MzQ4OThiZDA0YzJmZDZhMmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.pC5OlzEmytomuUuNFcFmWIUF_i48msrrqDgH5mQ4Xz8)
![](https://private-user-images.githubusercontent.com/88680118/253817590-4aaaed73-2175-4bad-ab37-c17e60e31d04.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk5ODE5NjcsIm5iZiI6MTcxOTk4MTY2NywicGF0aCI6Ii84ODY4MDExOC8yNTM4MTc1OTAtNGFhYWVkNzMtMjE3NS00YmFkLWFiMzctYzE3ZTYwZTMxZDA0LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDA0NDEwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0ODNmMjc5OTY2YTQ2YTllYzc2ZmFmNzU2NGEyYjkxZWQyNDhkZWMzY2NkMDFlZGVlMjI0YzdmMzFkNTllMmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.NA_HxNX_dTNsF93MzP3ZRfWl4TaTX7oRdg9OuF1vRYE)
![](https://private-user-images.githubusercontent.com/88680118/253817599-ed4141db-49e0-4795-8b1b-caa2887b5f63.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk5ODE5NjcsIm5iZiI6MTcxOTk4MTY2NywicGF0aCI6Ii84ODY4MDExOC8yNTM4MTc1OTktZWQ0MTQxZGItNDllMC00Nzk1LThiMWItY2FhMjg4N2I1ZjYzLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDA0NDEwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBmYjY1ZTIzN2I4YzVjMTZmOGQ0NGQ3ZjdlZDVkZWUwOGJlNzY5NDdlNWY1ODM0NjI5NzAwMzliMGQwMWE0NzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.xcpvWDiRGmCyhoTcswjSGX4poynFo-azTNcKboOG7oI)
![](https://private-user-images.githubusercontent.com/88680118/253817615-e042bd15-3464-4397-8ea9-9392d7e5f2e1.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk5ODE5NjcsIm5iZiI6MTcxOTk4MTY2NywicGF0aCI6Ii84ODY4MDExOC8yNTM4MTc2MTUtZTA0MmJkMTUtMzQ2NC00Mzk3LThlYTktOTM5MmQ3ZTVmMmUxLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDA0NDEwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2MTI2ZTExYTk2NjI3MGY1YjAxMTE1ZTZmZmI1YmE3YTdmODhlZGQ2N2U2MDg4YjRkMTkzNjA1ZTI2YTE4YmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.lt2p2JRyBIvpPa5kimqBUYzot6hkMM9HLd7KDbEMGrQ)
![](https://private-user-images.githubusercontent.com/88680118/253817625-f6663614-eb86-40de-9d8c-397444e9edf2.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk5ODE5NjcsIm5iZiI6MTcxOTk4MTY2NywicGF0aCI6Ii84ODY4MDExOC8yNTM4MTc2MjUtZjY2NjM2MTQtZWI4Ni00MGRlLTlkOGMtMzk3NDQ0ZTllZGYyLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDA0NDEwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIzZGY1YjRjMTQwNDQ1Y2Y5OGZiZjdjNzY2NDNiNjQxZGJjM2ViZDdmODU1ZTI5NDY3ZWU2NjUyZmI0NzFiMjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Gg531-0ZWX_2XPGOt33R9TqxqVCxrNQUIZQiWDTjNdU)
![](https://private-user-images.githubusercontent.com/88680118/253817637-25a55f8d-7831-45ea-ba45-ddedefb51a68.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk5ODE5NjcsIm5iZiI6MTcxOTk4MTY2NywicGF0aCI6Ii84ODY4MDExOC8yNTM4MTc2MzctMjVhNTVmOGQtNzgzMS00NWVhLWJhNDUtZGRlZGVmYjUxYTY4LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDA0NDEwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNiYTIyNDJmNjZhODA3NmYwYjU2ZTM5YmFhMTNkNmU1YjcwMWM2YjRlMThkMzY2YzI2NWMzYmRiMGEwNjljNDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.zsMR47ILYnGxJ7AwXnTd5F9KR6No8RUxE2usl4MSgdE)
Daily Diet is a mobile application to control your diet. In it you can register your meals and follow your progress.
With this application, you can register a new meal at a specific date and time, informing whether or not it is in your diet. It is also possible to view the details of each meal, as well as edit and delete your already registered meals. In addition, the application provides you with a follow-up of your diet, providing feedback through some statistics and metrics based on the meals already registered, such as the best sequence of meals within the diet, percentage of meals in the diet, among other information.
The project was developed using these technologies:
- TypeScript
- React Native
- Expo Managed Workflow
- NativeWind (library to use TailwindCSS in React Native)
- React Navigation (stack navigation)
- Async Storage (used to local storage of meals)
- React Hook Form
- Zod
Finally, this project was a challenge developed in the React Native training in Rocketseat Ignite course. The main purpose of this app was to practice styling, navigation and local storage, as well as some React Hooks and techniques, and good coding practices.
Access the project layout in Figma
- Requirements:
- Clone the repository:
git clone https://github.com/luismda/daily-diet.git
- Install the dependencies:
npm i
- Run app:
npm start
- To preview the app, you can use Expo Go on your physical device or use an Android or iPhone emulator on your computer. See some more details in the React Native and Expo documentation.
A good starting point to get to know the project better is to look at the code, so you can start with the screens
folder, where all the project's screens are located. In the routes
folder, you will also find all the routes defined in the app.
All components were created inside the components
folder. You will notice that some of them have more than one file for the same component. This happens because of the Composition Pattern, which was used in some cases.
Finally, in the storage
folder you will find the functions that handle Async Storage and handle local read and write operations. It is important to highlight that the key used to store the meals is defined in the constants folder.
Luís Miguel | LinkedIn
#NeverStopLearning 🚀