An open API service indexing awesome lists of open source software.

https://github.com/gabriel-jesusvix/meals-app

Meals App - Learn more about React Navigation,Redux and ContextAPI with React Native
https://github.com/gabriel-jesusvix/meals-app

arquitectura-de-software context-api hooks navigation-drawer navigationstack react-native redux-toolkit typescript

Last synced: about 1 month ago
JSON representation

Meals App - Learn more about React Navigation,Redux and ContextAPI with React Native

Awesome Lists containing this project

README

        

# Meals App - Aplicativo de Refeições

The **Meals App** is a React Native application designed to help users browse and select various meal recipes. It serves as a practical example for learning and implementing React Navigation within a React Native environment.

## Features

- **Browse Meals**: Explore a variety of meal categories and recipes.
- **Meal Details**: View detailed information about each meal, including ingredients and preparation steps.
- **Favorites**: Mark meals as favorites for quick access.
- **Navigation**: Seamless navigation between different screens using React Navigation.

## Installation

### Prerequisites

- Node.js installed (version 16 or higher recommended).
- npm or yarn package manager installed.
- A working React Native environment set up.

### Steps

1. **Clone the repository**:

```bash
git clone https://github.com/Gabriel-Jesusvix/Meals-App.git
cd Meals-App
```

2. **Install dependencies**:

```bash
npm install
# or
yarn
```

3. **Start the application**:

```bash
npm start
# or
yarn start
```

## Technologies Used

- **React Native**: For building the mobile application.
- **React Navigation**: For handling navigation within the app.
- **TypeScript**: For static typing and improved code quality.
- **Redux Toolkit**: For state management and handling favorite recipes.
- **Context API**: For lightweight state sharing between components.

## Project Objectives

The primary goal of this project is to facilitate understanding and hands-on experience with the following concepts:

1. **React Navigation**:
- Implementing both stack and drawer navigations.
- Passing and receiving parameters between screens using `params`.

2. **TypeScript**:
- Enhancing code reliability and maintainability through proper typing.

3. **State Management**:
- Using Context API and Redux Toolkit to manage favorite recipes.
- Displaying the list of favorite recipes on a dedicated screen.

4. **Architecture**:
- Following a modularized architecture for better code organization and scalability.

## Demonstration

Check out the video below to see the application in action:

[![Meals App Demo](https://github.com/user-attachments/assets/0d07942b-8ddc-48cb-987d-3f3c2c10e367)](https://github.com/user-attachments/assets/0d07942b-8ddc-48cb-987d-3f3c2c10e367)

## How to Contribute

1. Fork this repository.
2. Create a new branch for your feature: `git checkout -b feature-name`.
3. Commit your changes: `git commit -m 'Add new feature'`.
4. Push to your branch: `git push origin feature-name`.
5. Submit a pull request.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

---

Visit the repository on GitHub: [Meals App](https://github.com/Gabriel-Jesusvix/Meals-App)