Created on 18th January 2025
โข
MoneyMap simplifies personal finance management by providing an intuitive and easy-to-use platform that helps you:
Whether you're a student, working professional, or anyone who wants to get their finances under control, MoneyMap makes it easier to:
MoneyMap is your perfect financial companion, offering a secure, private, and efficient way to manage and track your money.
Start taking control of your finances today with MoneyMap! ๐ฏ
Problem:
Most free cloud storage services either offer trial periods or come with heavy limitations, making it difficult to store data reliably for a project like MoneyMap.
Solution:
I opted for IndexedDB, which allows for local data storage directly in the user's browser. This solution not only ensures privacy but also offline access to the data.
Problem:
Full-stack applications typically use two server ports, one for the frontend and one for the backend. However, free hosting platforms with limitations can cause delays in requests between these server ports, affecting the performance of the app.
Solution:
I decided to perform most of the backend operations using vanilla JavaScript in the frontend, reducing the need for backend calls. This approach minimized data fetches and optimized the performance by utilizing IndexedDB for storage, ensuring fast and seamless operations.
Problem:
With multiple calculations happening in the background, each triggered by user input, re-renders were causing a noticeable lag in the UI, affecting the overall user experience.
Solution:
I implemented a debounce function to delay the execution of calculations until the user stops interacting. This reduced the number of re-renders and improved performance by grouping operations, resulting in a smoother user experience.
Problem:
When using IndexedDB for data storage, versioning issues arose where updates to the database schema would cause unexpected behavior, especially when syncing or updating data.
Solution:
To avoid potential issues, I limited the IndexedDB version to 1, which which simplified the database structure and prevented any issues.
Tracks Applied (1)