Skip to content

alecntan/BudgetBuddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Budget Buddy

A web-based application that assists teams in managing their budgets, tracking their expenses, and processing reimbursements.

Table of Contents
  1. About The Project
  2. Roadmap
  3. Getting Started
  4. License
  5. Acknowledgments

About The Project

budget-buddy-demo

This project is a web application designed to streamline budget management, expense tracking, and reimbursement processing for teams. Its development stemmed from the realisation that my church's ministries lack a centralised system for managing budgets and tracking expenses, hindering effective financial management and transparency within the church.

As a result, volunteers often face difficulties accessing information about allocated budgets and the status of their reimbursement requests. Additionally, ministry leaders struggle to keep track of approved or rejected budget requests.

By centralising these processes, we aim to improve transparency, efficiency, and accountability within the organisation.

(back to top)

Technologies

  • Next
  • Supabase
  • Chakra
  • Docker
  • DigitalOcean

(back to top)

Roadmap

  • Set up Github Actions to test code on push to feature branches.
  • Set up Github Actions to build docker image and deploy to Digital Ocean on push to dev branch
  • Implemented user authentication
  • Allow users to reset their passwords via "Forgot my Password"
  • Role-based user permissions
  • Invite New Users
  • Delete Users
  • Update User Roles
  • Manage Budgets ( <== Current )
    • Create Budgets
    • Edit Budgets
    • Delete Budgets
    • Submit budget items
    • Approve budget items
    • Reject budget items
    • Delete budget items
  • Manage Expenses
    • Submit an Expense
    • Reject an Expense
    • Fulfil an Expense
    • Delete an Expense
  • Manage User Details
    • Update First name
    • Update Last Name
    • Update Email
    • Update Password
  • Manage Bank Details
    • Create Bank Details
    • Delete Bank Details
  • User Dashboard
    • See Pending budget items
    • See Pending expenses
    • See Announcements

See the open issues for a full list of proposed features (and known issues).

(back to top)

Getting Started

To get a local copy up and running follow these steps.

Prerequisites

You'll need to install the Supabase CLI and setup a local instance of supabase using Docker. Follow these instructions to get started.

Once installed, run your local instance of Supabase and take note of its:

  • project url
  • anon key
  • service role key

These are displayed on your terminal after you start your local supabase instance.

Installation

  1. Clone the repo
    git clone git@github.com:alecntan/BudgetBuddy.git
  2. Install NPM packages
    npm install
  3. Enter your project details in .env.development
    NEXT_PUBLIC_SUPABASE_URL = <PROJECT_URL>
    NEXT_PUBLIC_SUPABASE_ANON_KEY = <ANON_KEY>
    APP_DOMAIN = http://localhost:3000
    SERVICE_ROLE_KEY = <SERVICE_ROLE_KEY>

(back to top)

Setting Up Test Accounts

The app is seeded with test accounts on startup. You can find these accounts in the supabase/seed.sql file.

(back to top)

Running the App

  1. Start Docker Desktop and run your local supabase instance

    supabase start
  2. Visit http://localhost:3000

  3. Login using the accounts found in supabase/seed.sql file

(back to top)

License

Distributed under the BSD 3-Clause License. See LICENSE.txt for more information.

(back to top)

Acknowledgments

(back to top)

About

A Web Application for Managing Budgets with Teams

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published