Don³ is a modern, browser-based budget tracking application built with Next.js designed to make managing finances easy, intuitive, and flexible. It aims to support double-entry bookkeeping, multi-country and multi-currency operations, and allows you to track stocks and cryptocurrencies.
- Fully Operating Within the Browser: No backend required, everything runs directly in your browser.
- Double-entry Bookkeeping: Track your income and expenses accurately with double-entry accounting.
- Multi-country & Multi-currency: Seamlessly manage finances in different countries and currencies.
- (Future) Stock and Cryptocurrency Support: Monitor and track your investments in stocks and cryptocurrencies.
- (Future) Generate Financial Statements: Automatically generate balance sheets, income statements, and other financial reports.
- (Future) Ask AI for Your Finances: Get personalized financial insights and suggestions with the built-in AI assistant.
Milestone | Status | Details |
---|---|---|
Basic Features | Complete | Implemented basic CRUD functionality for managing accounts and records. |
Multi-country & Multi-currency Support | Complete | Integrated currency conversion API and developed UI for managing multi-country setups. |
Getting started | Complete | A step-by-step initial configuration and tutorial for using the app. |
Dashboard | In progress | Dashboard with analytics widgets |
Backup and Restore Database | In progress | Implementing database synchronization with end-to-end encryption, ensuring zero knowledge of user data in the remote database |
Stock & Cryptocurrency Tracking | Planned | Integrating financial APIs to provide real-time stock and cryptocurrency data, with a UI for investment tracking. |
Financial Statement Generation | Planned | Developing tools for generating balance sheets and income statements, with export options (CSV, PDF). |
AI Assistant Integration | Planned | Building an AI-powered assistant for financial advice, utilizing natural language processing for user queries. |
To run Don³ locally for development:
-
Clone the repository:
git clone https://github.com/yeonsubak/don3.git
-
Install dependencies:
cd don3 pnpm install
-
Run the server:
# Run in production mode pnpm build && pnpm start # Run in development mode pnpm run dev
Your app will be available at http://localhost:3000
.
This project does not require an .env file to run, as it automatically uses fallback values for all environment variables.
However, if you prefer to use your own custom settings, you can create an .env file in the project root.
Below is the list of supported environment variables:
- EXTERNAL_DATABASE_URL: Connection string for connecting to your own database. Currently, it is only used for caching currency exchange data.
- Fork the repository.
- Clone your forked repository locally.
- Create a new branch for the feature/bug fix you're working on.
- Make your changes and ensure that they work properly.
- Commit your changes with a meaningful message.
- Push your branch and open a pull request.
https://dbdiagram.io/d/Don^3-67b5d8cb263d6cf9a0b98f23
- @ourworldincode: For providing a list of currencies at
ourworldincode/currency
. - @ksafranski & @shivanshtalwar0: For providing a map of currencies by currency code at
ksafranski/Common-Currency.json
. - @chalda-pnuzig: For providing a complete list of emojis by category for the EmojiPicker component.
This project is licensed under the MIT License - see the LICENSE file for details.