Skip to content

tryonlinux/revive-budget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Revive Budget

A free, open source budgeting tool built by Revive Church in Hesperia, Michigan.

Revive Budget is part of the Essential Pantry program — a community initiative where members earn pantry bucks by completing adulting skill classes. This budgeting tool is one of those classes.

Live site: budget.revivechurchmi.com


What It Does

Revive Budget walks users through three steps:

  1. Learn — Understand the basics of budgeting (Watch Video)
  2. Plan — Enter income sources and monthly expenses
  3. Prioritize — Use the Budget Dashboard to build a Priority Pyramid and view the Budget Spiral

Priority Pyramid

A triangle with 6 tiers (21 total slots). Essential expenses go at the base; less critical spending moves up. Forces intentional decision-making about where money goes first.

Budget Spiral

A canvas-based Archimedean spiral that visualizes spending priorities from the inside out. The outermost ring shows remaining budget at a glance.

Print Support

Every page supports printing — blank worksheets for filling in by hand, or filled versions with your saved data. Two-page print layout on the budget dashboard (items list + pyramid).


Tech Stack

No dependencies. No build step. No bundler. No framework.

Just HTML, CSS, and vanilla JavaScript — served as static files.

  • All data stays in the browser via localStorage
  • Nothing is transmitted or stored server-side
  • Works offline once loaded

Project Structure

public/
├── index.html          # Home / landing page
├── income.html         # Income tracker
├── expenses.html       # Expense tracker by category
├── budget.html         # Budget dashboard (pyramid + spiral)
├── about.html          # About page
├── favicon.ico
├── manifest.json       # Web app manifest
├── _headers            # Cloudflare security headers (CSP, HSTS, etc.)
├── css/
│   └── styles.css      # Shared stylesheet (all pages)
├── fonts/              # Self-hosted Outfit + Space Mono
├── js/
│   ├── budget.js       # Budget dashboard logic
│   ├── income.js       # Income tracker logic
│   └── expenses.js     # Expense tracker logic
└── images/
    └── Plusx250-150x150.png

Running Locally

Serve the public/ directory with any static file server:

npx serve public
# or
python3 -m http.server --directory public

Then open http://localhost:3000 (or whatever port is shown).


Deployment

Deployed via Cloudflare Worker serving the public/ directory as static assets.


localStorage Keys

Key Page Contents
reviveBudget_income income.html Array of income source objects
reviveBudget_expenses expenses.html Object keyed by category
reviveBudget_budget budget.html Income value + 21 budget items

Contributing

Pull requests welcome. Keep it simple — no frameworks, no build tools, no dependencies. Match the existing code style and use the CSS custom properties defined in styles.css rather than hardcoded values.


License

MIT


Built with ♥ by Revive Church — Hesperia, MI · Experience Freedom

Releases

No releases published

Packages

 
 
 

Contributors