{"id":25919767,"url":"https://github.com/mihaidinu0/expensetracker","last_synced_at":"2026-05-05T09:31:19.849Z","repository":{"id":279692473,"uuid":"937569821","full_name":"mihaidinu0/expensetracker","owner":"mihaidinu0","description":"Secure Spring Boot backend with JWT auth, Docker, PostgreSQL \u0026 CI/CD","archived":false,"fork":false,"pushed_at":"2025-02-26T21:40:03.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-17T13:43:28.851Z","etag":null,"topics":["ci-cd","docker","java","jwt-authentication","postgresql","rest-api","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mihaidinu0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-23T11:45:13.000Z","updated_at":"2025-02-26T21:40:07.000Z","dependencies_parsed_at":"2025-02-26T22:39:07.509Z","dependency_job_id":null,"html_url":"https://github.com/mihaidinu0/expensetracker","commit_stats":null,"previous_names":["mihaidinu0/expensetracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mihaidinu0/expensetracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihaidinu0%2Fexpensetracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihaidinu0%2Fexpensetracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihaidinu0%2Fexpensetracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihaidinu0%2Fexpensetracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mihaidinu0","download_url":"https://codeload.github.com/mihaidinu0/expensetracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mihaidinu0%2Fexpensetracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32643476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci-cd","docker","java","jwt-authentication","postgresql","rest-api","spring-boot"],"created_at":"2025-03-03T15:16:00.463Z","updated_at":"2026-05-05T09:31:19.823Z","avatar_url":"https://github.com/mihaidinu0.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Expense Tracker API - Secure Backend System\n\n[![Java](https://img.shields.io/badge/Java-17-blue)](https://openjdk.java.net/)\n[![Spring Boot](https://img.shields.io/badge/Spring_Boot-3.1-green)](https://spring.io/projects/spring-boot)\n[![Security](https://img.shields.io/badge/Security-JWT-orange)](https://jwt.io/)\n\nA 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.\n\n**Key Technical Highlights:**  \n✅ Spring Security with JWT authentication flow  \n✅ Role-based authorization (ADMIN/CLIENT)  \n✅ Containerized with Docker \u0026 PostgreSQL  \n✅ CI/CD pipeline with GitHub Actions  \n✅ Paginated API responses \u0026 DTO validation\n\n## 🛠 Tech Stack\n**Core Technologies**  \nSpring Boot 3 | Spring Security | JWT | PostgreSQL\n\n**Infrastructure**  \nDocker | GitHub Actions | Digital Ocean Droplet\n\n## 🚀 Core Features\n| Feature | Implementation Details |\n|---------|------------------------|\n| JWT Authentication | Secure token management with refresh mechanism |\n| Role-Based Access | Spring Security authorities with UserType enum |\n| Expense Management | CRUD operations with validation |\n| API Security | CSRF protection \u0026 HTTPS-ready configuration |\n| CI/CD Pipeline | Automated deployment to production droplet |\n\n## Setup\n```bash\n# Clone repository\ngit clone https://github.com/mihaidinu0/expense-tracker.git\n\n# Start services\ndocker-compose up -d --build\n\n# API available at\nhttp://localhost:8080/api/expenses\n\nMake sure to register a user and login to obtain the Bearer Token to access the secured endpoints.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmihaidinu0%2Fexpensetracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmihaidinu0%2Fexpensetracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmihaidinu0%2Fexpensetracker/lists"}