Skip to content

Commit 1d5cdc7

Browse files
authored
Update README.md
1 parent 6a27286 commit 1d5cdc7

File tree

1 file changed

+9
-24
lines changed

1 file changed

+9
-24
lines changed

README.md

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,29 @@
1-
# Contact book, part 3, integrating state management with Redux Toolkit
2-
3-
## Refactoring Contact Book Application
4-
This project refactors the Contact Book app by integrating state management with Redux Toolkit. It includes actions for saving, deleting contacts, and updating the filter. The app uses `redux-persist` to store the contacts in `localStorage` and connects React components with Redux using `react-redux`. The initial Redux state consists of an empty contacts array and a filter string.
1+
# ✨ Contact book, integrating state management with Redux Toolkit ✨
52

63
## 🛠 Tools used
74

85
[![My Skills](https://skillicons.dev/icons?i=html,css,js,react,redux,npm,webpack,vscode)](https://skillicons.dev)
96

10-
### Description
11-
12-
This homework task is a simple contact management application for a phonebook, designed to practice fundamental React concepts and state management. The application allows users to add, display, search, and delete contacts, with each contact consisting of a name and a phone number. The project is structured to progressively introduce new features, demonstrating the importance of component-based architecture, controlled components, and state handling in React.
13-
14-
### Key Features
15-
16-
1. **Add Contacts**: Users can add contacts with a name and phone number. The application ensures that contact names adhere to a specific pattern and prevents the addition of duplicate names.
17-
18-
2. **Search and Filter**: A search field is provided to filter contacts by name, with case-insensitive matching.
7+
![Description](https://img.shields.io/badge/Description-purple?style=for-the-badge)
8+
This project refactors the Contact Book app by integrating state management with Redux Toolkit. It includes actions for saving, deleting contacts, and updating the filter. The app uses `redux-persist` to store the contacts in `localStorage` and connects React components with Redux using `react-redux`. The initial Redux state consists of an empty contacts array and a filter string.
199

20-
3. **Contact List Management**: Users can view a list of all contacts and remove any contact they no longer need.
10+
![Features](https://img.shields.io/badge/Features-purple?style=for-the-badge)
2111

22-
4. **Component Refactoring**: The application is refactored from a single component into multiple independent components, enhancing modularity and readability.
12+
- **Add Contacts**: Users can add contacts with a name and phone number. The application ensures that contact names adhere to a specific pattern and prevents the addition of duplicate names.
13+
- **Search and Filter**: A search field is provided to filter contacts by name, with case-insensitive matching.
14+
- **Contact List Management**: Users can view a list of all contacts and remove any contact they no longer need.
15+
- **Component Refactoring**: The application is refactored from a single component into multiple independent components, enhancing modularity and readability.
2316

24-
### Key Learning Objectives:
17+
![Key Learning Objectives:](https://img.shields.io/badge/Key%20Learning%20Objectives-purple?style=for-the-badge)
2518

2619
- **State Management**: Manage and update state in React, particularly how to structure state to store multiple properties and handle user inputs in a controlled manner.
27-
2820
- **Componentization**: The importance of breaking down an application into smaller, reusable components became evident. This approach not only simplifies development but also makes the codebase easier to maintain and scale.
29-
3021
- **Form Handling**: Experience in handling forms in React, including managing controlled inputs and validating user data through patterns and required fields.
31-
3222
- **Conditional Rendering**: Implementing conditional logic to prevent duplicate contacts from being added, which reinforced the concept of controlling what gets rendered based on the application's state.
33-
3423
- **Refactoring and Code Organization**: Refactoring the application into separate components taught me the significance of organizing code in a way that promotes reusability and separation of concerns.
35-
3624
- **User Experience Considerations**: Enhancing the user experience by providing feedback (such as alerts) and ensuring the interface remains responsive and intuitive.
37-
3825
This project served as a solid foundation for building more complex React applications, emphasizing the core principles of React and good development practices.
3926

40-
---
41-
4227
### Step 1
4328
The application should include a form and a contact list. In the current step, implement the ability to add a contact name and display it in the contact list. The application does not need to save contacts between different sessions (page refreshes).
4429

0 commit comments

Comments
 (0)