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