Skip to content

vdnnguyen94/BudgetWise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BudgetWise

A simple full-stack budgeting app with a Node.js/Express backend and a React frontend.

Features

  • Track budgets and expenses by category
  • REST API (Express) with MongoDB
  • Modern React frontend (Vite or CRA)
  • Ready for CI/CD and cloud hosting

Tech Stack

  • Backend: Node.js v18, Express, Mongoose, Serverless Framework
  • Frontend: React (Vite/CRA)
  • Database: MongoDB (Atlas or self-hosted)

Project Structure

BudgetWise/
├─ backend/                 # Node.js + Express API
│  ├─ src/                  # controllers, models, routes, middleware
│  ├─ package.json
│  └─ .env                  # server secrets (create locally)
└─ frontend/                # React app (Vite/CRA)
   ├─ src/
   ├─ package.json
   └─ .env                  # client env (create locally)

Prerequisites

  • Node.js v18 and npm (We recommend using nvm)
  • Git
  • MongoDB connection string (e.g., MongoDB Atlas)

Local Development Setup

1. Clone the Repository

git clone https://github.com/vdnnguyen94/BudgetWise.git
cd BudgetWise

2. Backend Setup

cd backend
nvm install 18
nvm use 18
npm install

Create a .env file in backend/ with:

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_super_secret_jwt_key
PORT=5000

Start the local serverless environment:

npx serverless offline

➡️ Backend runs at http://localhost:5000

3. Frontend Setup

cd frontend
npm install

Create a .env file in frontend/ with:

REACT_APP_API_URL=http://localhost:5000

Start the frontend development server:

npm start

➡️ Frontend runs at http://localhost:3000


🚨 Important Note on Core Backend Files

Do not modify these unless you are familiar with the serverless architecture:

  • serverless.yml
  • handler.js
  • db.js
  • .github/workflows/deploy.yml

When working with app.js, only add new API routes. Avoid changing existing middleware/config.


🌐 Production URL

https://budgetwise-mu.vercel.app/


Recommended Git Feature Branch Workflow

  1. Check your status
git status
  1. Fetch remote updates
git fetch
  1. Switch to the main branch
git switch main
  1. Update your local main
git pull --rebase origin main
  1. Create a new feature branch
git switch -c feat/your-feature
  1. Stage changes
git add -A
  1. Commit changes
git commit -m "feat: description"
  1. Push branch to remote
git push -u origin feat/your-feature

redeploy

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10