Finwave is an open-source web application for financial management. The mission of the project is to create a convenient and powerful solution for personal finance management.
- Multi-Currency Support: Finwave supports a wide range of currencies. Users can also add custom currencies to fit their specific needs, including cryptocurrencies with their unique decimal precision requirements
- Multiple Accounts: Manage your finances across multiple accounts seamlessly.
- Hierarchical Categories: Organize your transactions with tree-like category structures for better clarity and convenient management.
- Multi-Language Support: Finwave is designed to cater to a global audience with support for multiple languages.
- Automated Transactions: Set up automatic transactions to streamline recurring financial activities.
- CSV Import/Export: Easily import and export transactions using CSV files for smooth data migration and backup.
- Responsive Design: The website is fully responsive and optimized for mobile devices, ensuring a seamless experience on any screen size.
- WebSocket Support: Real-time synchronization across clients using WebSockets ensures that data is instantly updated across all connected devices.
- Reactive Web Client: Experience a highly responsive web client where page reloads are minimized for a smoother user experience.
- AI Support: As far as possible integration with GPT: adding, changing, deleting transactions, categories, accounts, currencies, also viewing analytics and reading various files, including .pdf. It is recommended to use GPT-4o/GPT-4o-mini from OpenAI, but there is also a possibility use ollama
You can try the demo here
- Deploy: A set of scripts for convenient deployment of the application with docker.
- Backend: The backend of the application built with Java.
- Frontend: The frontend of the application built with Nuxt 3.
- Telegram Bot: Repository for the Telegram bot to interact with our services via Telegram.
- Java API Wrapper: A wrapper for interacting with the application's API using Java.
- Telegram Abstractions Tools: A library providing abstractions over raw Telegram requests.
- Nginx Repository: Repository for building an Nginx Docker container with the necessary configurations for the application.
- Site: Code for the project's main webpage.
- SCW: A library for handling JSON configs in Backend and Telegram Bot.
We appreciate any contributions to improve Finwave! Here are the main ways you can help:
If you're interested in helping with translations, please check the existing en-US.json file for the English translations as a reference.
You can сheck our GitHub Projects: visit projects page to see what we're currently working on and to contribute to ongoing tasks.
If you're a developer and want to help enhance Finwave, feel free to fork the repositories and submit pull requests. Thank you for contributing to Finwave and helping to make it a better project! ❤️
If you have questions, suggestions, or problem, please create an issue in the corresponding repository. You can also contact me by email or Telegram.
- Email: me@knst.su
- Telegram: @cotantin
All repositories are distributed under the MIT License