Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nikhilsharma03/okane

Okane is a CLI 💻 tool designed to simplify expense 💵 management for users.
https://github.com/nikhilsharma03/okane

buf cobra docker docker-compose github-actions golang grpc grpc-gateway makefile protocol-buffers redis

Last synced: about 1 month ago
JSON representation

Okane is a CLI 💻 tool designed to simplify expense 💵 management for users.

Awesome Lists containing this project

README

        

# Okane





[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=95)](https://github.com/NikhilSharma03/Okane)
[![Build by Nikhil](https://img.shields.io/badge/Built%20by-Nikhil-Green)](https://github.com/NikhilSharma03/Okane)


> Okane is a CLI 💻 application built using Cobra Go🚀 to help manage your expenses 💵


## Technology Stack

Go gRPC Redis


## Install CLI

```
go install github.com/NikhilSharma03/Okane/okanecli@latest
```

Now you can access CLI app using `okanecli` in your terminal


## Setup and Installation

First install `Protocol compiler`

```
brew install protobuf
```

Now, install `gRPC Go` plugin

```
go install \
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest \
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest \
google.golang.org/protobuf/cmd/protoc-gen-go@latest \
google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
```

Then, add GOPATH in `.bashrc` file

```
export PATH=$PATH:$HOME/go/bin
export PATH=$PATH:/usr/local/go/bin
```

To generate proto

```
make generate-proto
```

Now, Add `Environment Variables` by creating a new `.env` file in `root` folder and add the contents following `.env.example`

Once you have added correct credentials, run the server using

```
make run-server
```

If using `docker compose`, then first build the image

```
make compose-dev-build
```

Now start the dev server

```
make compose-dev-up
```

To access logs

```
make compose-dev-logs
```

To shut down the server

```
make compose-dev-down
```

Now the server is running at `localhost:8000`

Now, Lets build the `okane cli` app

```
make build-cli
```

Now you can use the app

```
./okane_cli
```

# License