Skip to content

A fullstack app with a Spring Boot backend for tracking expenses, featuring JWT-based authentication, BCrypt password hashing, PostgreSQL integration, and a layered architecture, complete with a Streamlit frontend

Notifications You must be signed in to change notification settings

omavashia2005/expenseTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 Expense Tracker

A secure and scalable authentication backend built with Java Spring Boot, featuring JWT-based authentication, BCrypt password hashing, PostgreSQL integration, and custom exception handling. Ideal for modern web and mobile applications.


🛠️ Tech Stack


🚀 Features

  • ✅ User registration and login via RESTful APIs
  • 🔐 Secure password hashing using BCrypt
  • 🛡️ JWT token generation & validation
  • 🧪 Unit-tested authentication flow
  • 📂 Layered architecture (Controller → Service → Repository)
  • ⚠️ Custom exception classes for clear error handling
  • 🕐 Brute force protection with account timeout

📁 Project Structure

src/
├── main/
│   ├── java/
│   │   └── com.expenses.expensetracker/
│   │       ├── controller/
│   │       ├── service/
│   │       ├── repository/
│   │       ├── filters/
│   │       └── exceptions/
│   └── resources/
│       └── pages/
│           ├── Categories.py
│           └──Transactions.py
│       ├── Homepage.py        │
│       └── application.properties
└── test/

📦 Setup Instructions

  1. Clone the repo
    git clone https://github.com/your-username/expenseTracker.git

  2. Configure database in application.properties - set all necessary environment variables

  3. Create a Spring service Java class to configure your API Key for JWT Authentication.

  4. Run the app
    mvn spring-boot:run or run from your IDE

  5. Test API endpoints
    Use Postman or curl to test /api/users/register and /api/users/login


About

A fullstack app with a Spring Boot backend for tracking expenses, featuring JWT-based authentication, BCrypt password hashing, PostgreSQL integration, and a layered architecture, complete with a Streamlit frontend

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published