https://github.com/mihaidinu0/expensetracker
Secure Spring Boot backend with JWT auth, Docker, PostgreSQL & CI/CD
https://github.com/mihaidinu0/expensetracker
ci-cd docker java jwt-authentication postgresql rest-api spring-boot
Last synced: 2 months ago
JSON representation
Secure Spring Boot backend with JWT auth, Docker, PostgreSQL & CI/CD
- Host: GitHub
- URL: https://github.com/mihaidinu0/expensetracker
- Owner: mihaidinu0
- Created: 2025-02-23T11:45:13.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-26T21:40:03.000Z (over 1 year ago)
- Last Synced: 2025-07-17T13:43:28.851Z (12 months ago)
- Topics: ci-cd, docker, java, jwt-authentication, postgresql, rest-api, spring-boot
- Language: Java
- Homepage:
- Size: 70.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Expense Tracker API - Secure Backend System
[](https://openjdk.java.net/)
[](https://spring.io/projects/spring-boot)
[](https://jwt.io/)
A live-deployed expense management API with JWT authentication and role-based access control. Implements secure RESTful endpoints for financial operations with full CI/CD pipeline integration.
**Key Technical Highlights:**
✅ Spring Security with JWT authentication flow
✅ Role-based authorization (ADMIN/CLIENT)
✅ Containerized with Docker & PostgreSQL
✅ CI/CD pipeline with GitHub Actions
✅ Paginated API responses & DTO validation
## 🛠 Tech Stack
**Core Technologies**
Spring Boot 3 | Spring Security | JWT | PostgreSQL
**Infrastructure**
Docker | GitHub Actions | Digital Ocean Droplet
## 🚀 Core Features
| Feature | Implementation Details |
|---------|------------------------|
| JWT Authentication | Secure token management with refresh mechanism |
| Role-Based Access | Spring Security authorities with UserType enum |
| Expense Management | CRUD operations with validation |
| API Security | CSRF protection & HTTPS-ready configuration |
| CI/CD Pipeline | Automated deployment to production droplet |
## Setup
```bash
# Clone repository
git clone https://github.com/mihaidinu0/expense-tracker.git
# Start services
docker-compose up -d --build
# API available at
http://localhost:8080/api/expenses
Make sure to register a user and login to obtain the Bearer Token to access the secured endpoints.