Flow
Flow is a budget planning application designed to empower users with the ability to track, analyze, and optimize their spending habits and financial goals.
With a user-friendly CLI. It manages the finances and achieve greater financial stability by leveraging different payment APIs for a comprehensive financial management solution.
Table of Contents
Documentation
To know about the application in detail, you can visit the docs to understand the application in a better way.
What You Need?
To get started in flow, you need to have two applications installed on your machine.
- Golang
- Docker
- PostgreSQL
Installation
You can install the application in your local machine using the following command:
go install github.com/ibilalkayy/flow@latest
Verify the installation through the following command:
flow --version
This will display the installed flow version.
Commands
Flow provides a variety of commands for managing the budget. Below are some key commands:
To use the application, simply run the flow
command followed by one of the following subcommands:
budget
: Makes the budget planning
Each subcommand has its own set of options and arguments. Here are some examples of how to use the application:
# Initialize the application
flow init -n username -g gmail-id -a app-password -o postgresql-host -p postgresql-port -u postgresql-user -w postgresql-password -d postgresql-dbname -s sslmode
# Create a budget
flow budget create --category groceries/utilities --amount 300
# View the budget info
flow budget view
Cloning
Clone the repository:
git clone https://github.com/ibilalkayy/flow.git
Navigate to the project directory:
cd flow
Create a .env
file to put all your PostgresSQL credentials.
Run the App
There are two ways through which you can run this clonned application.
-
Build and install the flow binary through Golang:
go build
go install
-
Use the docker command to run it:
docker compose up -d
1. docker exec -it flow-app-1 ./flow budget create
2. docker exec -it flow-app-1 ./flow budget view
...
Contributing
We welcome contributions! If you have ideas for new features, find a bug, or want to improve documentation, feel free to open an issue or submit a pull request. Please follow our Contribution Guidelines for a smooth collaboration.
License
Flow is licensed under the Apache-2.0 License. Feel free to use, modify, and distribute the code as per the license terms.