Skip to content

Repository files navigation

UnBrokie-backend

A minimal personal finance backend focused on balance tracking, financial projections, and learning backend engineering through building real systems.

Built with Go and PostgreSQL.

This is the backend for the UnBrokie app and this is the UnBrokie app repository UnBrokie


Why this exists

I originally built this project to fix my own terrible money management habits while learning backend engineering properly.

Instead of using a generic finance app, I wanted something:

  • personalized
  • minimal
  • simulation-focused
  • and architected in a way that teaches me real backend concepts

This project became a playground for learning:

  • Go (Golang)
  • Backend architecture
  • PostgreSQL
  • Authentication systems
  • Financial data consistency
  • Transaction-safe operations

Features

Authentication

  • User registration & login
  • JWT-based authentication
  • Password hashing with bcrypt
  • Protected API routes

Finance System

  • Account balance tracking
  • Transaction management
  • Skip/restore transactions
  • Override transaction system
  • Big buy tracking
  • Category-based expenses
  • Event logging

Architecture

  • Clean layered design
  • Repository + service pattern
  • PostgreSQL with migrations
  • Transaction-safe database operations
  • Atomic balance updates
  • Dockerized development setup

Tech Stack

  • Go (Golang)
  • PostgreSQL
  • Gin
  • JWT
  • Docker
  • pgx

Current Status

  • Core backend architecture mostly complete
  • Authentication system implemented
  • Financial transaction system implemented
  • Big buy system implemented
  • API handlers/routes for MVP is done
  • Flutter frontend for version 1.0.0 MVP is done

Goal

Build a personalized finance system that helps me:

  • understand spending habits
  • simulate financial decisions
  • track money properly
  • and grow into a better backend engineer while building real software

Notes

This is currently an MVP and learning-focused project.

The system is intentionally designed to evolve over time as I improve the architecture, add features, and scale the project beyond personal use.

About

This is a money management and live SIM app I am making for personal use. I am really bad at money management. So why not make an app for myself. Although app like this exist but I will make one personalized for me and learn stuff along the way

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages