Invoice Management System with Redux Integration

Project Overview

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.

Project Structure

1. Integration of Redux

  • Redux has been seamlessly integrated into the application, providing a centralized store for state management.

2. Redux Actions, Action Types, and Reducers

  • Implemented Redux actions, action types, and reducers to effectively manage the invoice state.
  • Actions include functionalities for adding, editing, viewing, and deleting invoices.

3. List of Invoices as the Main Screen

  • 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.

4. Invoice Operations in the List

  • 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.

5. Redux Store Connection

  • Components throughout the application are connected to the Redux store to ensure proper state management.

6. Graceful Error Handling

  • The application gracefully handles errors, ensuring a smooth user experience even in unexpected situations.

7. Clean, Well-Documented, and Modular Code

  • The codebase adheres to best practices, ensuring cleanliness, thorough documentation, and modularity.

8. Copy to New Invoice Functionality

  • Implemented a feature that allows users to copy details from an existing invoice when creating a new one.

Getting Started

To run the project locally, follow these steps:

  1. Clone the repository.
  2. Navigate to the project directory in your terminal.
  3. Run npm install to install dependencies.
  4. Start the project with npm start.

Deployment

The live deployment of the application can be accessed here.

Feel free to explore the functionalities and manage your invoices effortlessly!