/wealthfolio

A Beautiful Private and Secure Desktop Investment Tracking Application

Primary LanguageTypeScriptGNU Lesser General Public License v3.0LGPL-3.0

Logo

Wealthfolio

A Beautiful and Boring Desktop Investment Tracker

Website · Discord · Twitter · Releases

Buy me a coffee button

Introduction

Wealthfolio App is a Beautiful and Boring Investment Tracker, with Local Data Storage. No Subscriptions, No Cloud.

Visit the app website at Wealthfolio App.

Screenshot

Roadmap

See ROADMAP.md.

Getting Started

Prerequisites

Ensure you have the following installed on your machine:

Installation

  1. Clone the repository:

    git clone https://github.com/afadil/wealthfolio.git
    cd wealthfolio
  2. Install dependencies using pnpm:

    pnpm install

Running the Application

  • Development Mode:

    Build and run the desktop application using Tauri:

    pnpm tauri dev
  • Build for Production:

    Build the application for production:

    pnpm tauri build

Technologies Used

Frontend

  • React: JavaScript library for building user interfaces.
  • React Router: Declarative routing for React.
  • Tailwind CSS: Utility-first CSS framework for styling.
  • Radix UI/Shadcn: Accessible UI components.
  • Recharts: Charting library built with React.

Backend / APIs

  • React Query: Data-fetching library for React.
  • Zod: TypeScript-first schema declaration and validation library.

Development Tools

  • Vite: Next-generation frontend tooling.
  • TypeScript: Typed superset of JavaScript.
  • ESLint: Pluggable linting utility for JavaScript and JSX.
  • Prettier: Code formatter.
  • Tauri: Framework for building tiny, secure, and fast desktop applications.

Folder Structure

wealthfolio/
├── .github/
│   └── workflows/
│       └── release.yml
├── public/
├── src/
│   ├── assets/
│   ├── commands/
│   ├── components/
│   ├── lib/
│   ├── pages/
│   ├── App.tsx
│   ├── main.tsx
│   ├── routes.tsx
│   ├── styles.css
│   ├── useGlobalEventListener.ts
│   └── vite-env.d.ts
├── src-tauri/
│   ├── icons/
│   ├── migrations/
│   ├── src/
│   ├── target/
│   ├── .gitignore
│   ├── build.rs
│   ├── Cargo.lock
│   ├── Cargo.toml
│   ├── diesel.toml
│   ├── tauri.conf.json
├── .env
├── .eslintrc.cjs
├── .gitignore
├── .prettierrc.cjs
├── components.json
├── index.html
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── README.md
├── tailwind.config.js
├── tsconfig.json
└── vite.config.ts

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature-branch).
  6. Open a pull request.

License

This project is licensed under the LGPL-3.0 license. See the LICENSE file for details.

🌟 Star History

Star History Chart

Enjoy managing your wealth with Wealthfolio! 🚀