This project involves creating a frontend application for managing and visualizing expenses. Using React and context, the app handles expense balance, today's expenses, percentage changes, and chart data. It integrates charts with Charts.js and supports multiple languages via the i18n library. Code quality is ensured with Vitest JSDOM tests and SonarCloud.
- Responsive Design: Built with Tailwind CSS and Flowbite to ensure a sleek and responsive UI.
- Modular Components: Uses reusable React components for maintainability tries to aply SOLID bases.
- State Management: State is managed using Context for scalability.
- Multi-language Support: Integrated with i18n for localization.
- Data Visualization: Interactive charts and data representation using Charts.js.
Frontend:
Tools and Libraries:
.REACT-INCORPODE
├── .github/workflows/sonarcloud.yml #SonarCloud GitHub config
├── node_modules #Dependencies
├── public
│ ├── demo
│ └── favicon.ico
├── src
│ ├── assets
│ │ ├── flags
│ │ ├── font
│ │ └── png
│ ├── components
│ │ ├── BalanceSheet
│ │ │ ├── BalanceSheet.jsx
│ │ │ └── BalanceSheet.test.jsx
│ │ ├── DailyExpenses
│ │ │ ├── DailyExpenses.jsx
│ │ │ └── DailyExpenses.test.jsx
│ │ ├── LanguageSelector
│ │ │ ├── LanguageSelector.jsx
│ │ │ └── LanguageSelector.test.jsx
│ │ └── WeeklyExpenseChart
│ │ ├── WeeklyExpenseChart.jsx
│ │ └── WeeklyExpensesChart.test.jsx
│ ├── config
│ │ └── i18n.js
│ ├── context
│ │ ├── SpendingContext.jsx
│ │ └── SpendingProvider.jsx
│ ├── hooks
│ │ ├── useChartOptions.jsx
│ │ └── useSpending.jsx
│ ├── App.jsx
│ ├── index.css
│ └── main.jsx
├──.gitignore
├── eslint.config.js
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.cjs
├── README.md
├── setupTests.js
├── sonar-project.properties
├── tailwind.config.cjs
├── vite.config.js
└── vitest.config.js
To get started with React-Incorpode, follow these steps:
-
Clone the repository:
git clone https://github.com/Luovtyrell/React-Incorpode.git
-
Navigate to the project directory:
cd React-Incorpode
-
Install the dependencies:
npm install
-
Start the development server:
npm run dev
Welcome contributions to React-Incorpode! If you'd like to contribute, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature
) - Make your changes
- Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request