Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/rodrigofontesdev/money

A personal account management web app built with React.
https://github.com/rodrigofontesdev/money

react study-project styled-components typescript

Last synced: about 1 month ago
JSON representation

A personal account management web app built with React.

Awesome Lists containing this project

README

        

![cover](https://github.com/rodrigofontesdev/money/assets/17281370/64f1427b-c35c-4b24-b7d2-97ae84e2ba80)

# Money

A simple budgeting app that allows you to track your income and expense. Record all your transactions and obtain a summary of your finances.

The purpose of this project was to learn about consuming APIs and to measure and improve performance in React applications.

# Prerequisites

- Node.js
- Git

# Getting Started

- Clone the repository (`git clone [email protected]:rodrigofontesdev/money.git`)
- Install dependencies (`npm install`)
- Run server (`npm run dev:server`)
- Run application (`npm run dev`)

# Features

- Add new income or expense
- Income and expense summary
- Transactions history
- Search for transactions

# I've Learned

- Inspect and identify performance problems with React Developer Tools
- Why React components render
- How the component rendering flow works in React
- Avoid unnecessary re-renders by selecting specific fields from a context (`useContextSelector()`)
- How and when to fix performance issues (`useCallback()`, `memo()`, `useMemo()`)
- Simulate a REST API with JSON Server
- Make HTTP requests with Axios

# Built With

- React
- TypeScript
- Styled Components
- JSON Server

# License

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