TannerBarcelos / Spendaro-API

Backend REST api for the Spendaro Finance App

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spendaro-API

Development Pipeline Release Pipeline Main Pipeline

Description

This is the REST API for the Spendaro application.

What is Spendaro?

Spendaro is a web application that focuses on making financial management easier for families and individuals. It allows users to track their expenses, set budgets, and manage their finances in a simple and intuitive way using the "Give Every Dollar a Job" philosophy.

What is the "Give Every Dollar a Job" philosophy?

The "Give Every Dollar a Job" philosophy is a budgeting method that involves assigning every dollar of your income to a specific category, such as rent, groceries, or entertainment. This method helps users to be more intentional with their spending and to avoid overspending in certain areas.

For more information, visit the Spendaro website

Technologies

This only outlines the technologies used in the API. For the full list of technologies used in the Spendaro application, visit the Spendaro repository

Core Technologies

  • Go (Golang)
  • Echo (Web framework)
  • GORM (ORM)

Database

  • PostgreSQL (Database)
  • Redis (Caching)

DevOps

  • Docker (Containerization)

Observability

  • Grafana Loki (Log aggregation - Logs generated using ZeroLog are sent to Grafana Loki)
  • Grafana Tempo (Tracing - Traces generated using OpenTelemetry are sent to Grafana Tempo)
  • Grafana Cloud (Monitoring - Metrics generated using Prometheus are sent to Grafana Cloud)

Installation

  1. Clone the repository
git clone
  1. Install dependencies
go mod download
  1. Run the application
make run-dev

# Docker
make run-dev-docker

# Docker Compose
make dev-compose

Run Tests

make test

About

Backend REST api for the Spendaro Finance App


Languages

Language:Go 74.4%Language:Shell 22.2%Language:Makefile 3.4%