Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💰 SpendWise - Full Stack Expense Tracker

A robust full-stack application for tracking personal expenses, built with a decoupled architecture using Spring Boot (Backend) and React (Frontend).

The application is fully deployed to the cloud, featuring a distributed system where the frontend, backend, and database are hosted on separate scalable services.

🚀 Live Demo

  • Frontend (UI): [INSERT YOUR NETLIFY LINK HERE]
  • Backend (API): [INSERT YOUR RAILWAY URL HERE]/api/expenses

🛠️ Tech Stack

Frontend

  • Framework: React (Vite)
  • Deployment: Netlify (Global CDN)
  • Styling: CSS
  • Communication: Fetch API

Backend

  • Framework: Java Spring Boot
  • Build Tool: Maven
  • Deployment: Railway (Cloud)
  • Database: PostgreSQL (Hosted on Supabase)
  • Security: CORS Configuration for cross-origin resource sharing

🏗️ Architecture

The application follows a 3-Tier Architecture:

  1. Presentation Layer (Netlify): React Frontend sends HTTP requests (GET, POST, DELETE).
  2. Logic Layer (Railway): Spring Boot Controller processes requests and handles business logic.
  3. Data Layer (Supabase): PostgreSQL database stores expense records persistently.

⚡ Features

  • View All Expenses: Fetches real-time data from the cloud database.
  • Add Expense: Validated input sent via secure HTTPS POST requests.
  • Delete Expense: Remove items dynamically from the UI and Database.
  • Cloud Connectivity: Fully connected environment (Netlify ↔ Railway ↔ Supabase).

🔌 API Endpoints

Method Endpoint Description
GET /api/expenses Retrieve all expenses
POST /api/expenses Create a new expense
DELETE /api/expenses/{id} Delete an expense by ID

💻 Local Setup Instructions

If you want to run this locally:

1. Clone the Repository

git clone [https://github.com/ashfaq-ui/spend-wise.git](https://github.com/ashfaq-ui/spend-wise.git)
cd spend-wise

2. Backend Setup

Navigate to the backend folder and configure your database variables in application.properties:

spring.datasource.url=jdbc:postgresql://[YOUR_SUPABASE_URL]
spring.datasource.username=[YOUR_DB_USER]
spring.datasource.password=[YOUR_DB_PASSWORD]

3. Frontend Setup


Bash

cd frontend
npm install
npm run dev

🔗 4. Website Link

You can access the live application here: SpendWise Live Demo

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages