This is a React-based web application designed to help users track their expenses. It provides a simple and intuitive interface to add, view, and search expenses.
- Features
- Technologies Used
- Prerequisites
- Installation
- Running the Application
- Usage
- Project Structure
- Contributing
- License
- Add Expenses: Users can add new expenses with details like name, description, category, amount, and date.
- View Expenses: Expenses are displayed in a table format, showing all entered information.
- Search Expenses: Users can search through their expenses using a search bar.
- Data Persistence: Expenses are stored in the browser's local storage, persisting across page reloads and browser restarts.
- Responsive Design: The application is designed to be mobile-friendly, adapting to various screen sizes.
- Dark/Light Mode Toggle: Users can switch between dark and light themes for better user experience.
- React: JavaScript library for building user interfaces.
- CSS: Styling the application.
Before you begin, ensure you have the following installed:
- Node.js: (version 12 or higher recommended)
- npm (Node Package Manager) or yarn: (comes with Node.js)
-
Clone the repository:
git clone [repository_url] cd [project_directory] Install dependencies:
Bash
npm install # or yarn install Running the Application To run the application in development mode:
Bash
npm start # or yarn start Open your browser and navigate to http://localhost:3000 to view the application.
Usage Adding Expenses:
Fill in the form with the expense details (name, description, category, amount, date). Click the "Submit" button to add the expense. Viewing Expenses:
Expenses are displayed in a table format. The table shows the name, description, category, amount, and date for each expense. Searching Expenses:
Use the search bar to filter expenses. The table will update to show only the expenses that match the search query.
Project Structure expense-tracker/ ├── public/ | ├── src/ │ ├── components/ │ │ ├── ExpenseForm.jsx │ │ ├── ExpenseItem.jsx │ │ ├── ExpenseList.jsx │ │ └── ... │ ├── App.jsx │ ├── App.css │ ├── main.jsx │ ├── index.css │ └── ... | ├── README.md └── ... public/index.html: The main HTML file. src/components/: Contains React components. ExpenseForm.jsx: Component for adding new expenses. ExpenseItem.jsx: Component for displaying individual expenses. ExpenseList.jsx: Component for displaying the list of expenses. src/App.jsx: The main application component. src/App.css: Styles for the application. src/index.js: Entry point of the React application. src/index.css: Global styles. package.json: Lists project dependencies and scripts. Contributing Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to submit a pull request or open an issue.
Fork the repository. Create a new branch for your feature or bug fix. Commit your changes. Push to the branch. Submit a pull request. License This project is licensed under the MIT License - see the LICENSE file for details.