This project is an Invoice Management System that incorporates Redux for efficient state management. The application allows users to seamlessly add, edit, view, and delete invoices. The user interface is designed for simplicity and enhanced user experience.
- Redux has been seamlessly integrated into the application, providing a centralized store for state management.
- Implemented Redux actions, action types, and reducers to effectively manage the invoice state.
- Actions include functionalities for adding, editing, viewing, and deleting invoices.
- The list of invoices is now the primary screen, offering users quick access to their invoices.
- A new "Create Invoice" button has been introduced, allowing users to initiate the invoice creation process.
- In the invoice list, users can perform various operations:
- View: Allows users to view details of a specific invoice.
- Edit: Enables users to edit the contents of an existing invoice.
- Delete: Provides an option to delete an invoice.
- Components throughout the application are connected to the Redux store to ensure proper state management.
- The application gracefully handles errors, ensuring a smooth user experience even in unexpected situations.
- The codebase adheres to best practices, ensuring cleanliness, thorough documentation, and modularity.
- Implemented a feature that allows users to copy details from an existing invoice when creating a new one.
To run the project locally, follow these steps:
- Clone the repository.
- Navigate to the project directory in your terminal.
- Run
npm install
to install dependencies. - Start the project with
npm start
.
The live deployment of the application can be accessed here.
Feel free to explore the functionalities and manage your invoices effortlessly!