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.
- β 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
src/
βββ main/
β βββ java/
β β βββ com.expenses.expensetracker/
β β βββ controller/
β β βββ service/
β β βββ repository/
β β βββ filters/
β β βββ exceptions/
β βββ resources/
β βββ pages/
β βββ Categories.py
β βββTransactions.py
β βββ Homepage.py β
β βββ application.properties
βββ test/
-
Clone the repo
git clone https://github.com/your-username/expenseTracker.git
-
Configure database in
application.properties
- set all necessary environment variables -
Create a Spring service Java class to configure your API Key for JWT Authentication.
-
Run the app
mvn spring-boot:run
or run from your IDE -
Test API endpoints
Use Postman or curl to test/api/users/register
and/api/users/login