Skip to content

com.github.hoangsonww.budget-backend 1.0.0 Latest version

Install 1/2: Add this to pom.xml:
Learn more about Maven or Gradle
<dependency>
  <groupId>com.github.hoangsonww</groupId>
  <artifactId>budget-backend</artifactId>
  <version>1.0.0</version>
</dependency>
Install 2/2: Run via command line
$ mvn install

About this package

budget-backend 1.0.0

budget-backend is a full-featured Spring Boot service providing RESTful CRUD endpoints for budgets, expenses, users, customers, orders, tasks, and transactions. It combines NoSQL (MongoDB) for user-driven collections with relational storage (PostgreSQL via Spring Data JPA) for audit-quality transaction logs and analytics.

🚀 Key Features

  • Resource Management
    • Budgets & Expenses stored in MongoDB for flexible, schemaless data
    • Users, Customers, Orders, Tasks, Transactions in PostgreSQL for ACID compliance
  • Seven Ready-to-Use Entities
    • CRUD controllers under /api/{resource} for all seven domains
    • Service layer with business logic isolation
    • Repository interfaces for easy extension
  • Authentication & Security
    • JWT support baked in via jjwt (0.9.1)
    • Ready to integrate Spring Security for protected routes
  • Caching & Performance
    • Redis integration for session and query caching
    • Asynchronous request handling for high throughput
  • Messaging & Events
    • RabbitMQ and Kafka clients included for future event-driven workflows
  • Search & Analytics
    • Elasticsearch client scaffolded for full-text expense search and reporting
  • DevOps & Observability
    • Dockerfile & Docker Compose for one-command local spin-up
    • Prometheus metrics exporter and Grafana dashboard templates
    • Jenkins pipeline example for CI/CD

🛠️ What’s New in v1.0.0

  • Initial Release of core budget management backend
  • All seven domain models fully implemented with DTOs, validation, and mapping
  • Swagger/OpenAPI docs auto-generated at /docs
  • GraphQL endpoint enabled at /graphql for flexible queries
  • WebSocket notifications for real-time expense and order events
  • Complete environment variable configuration for easy deployment

📦 Dependencies (7)

  1. Spring Boot Starter Web — REST API foundation
  2. Spring Boot Starter Data JPA + PostgreSQL Driver — relational data layer
  3. Spring Boot Starter Data MongoDB — NoSQL collections
  4. io.jsonwebtoken:jjwt (0.9.1) — JWT utilities
  5. org.projectlombok:lombok — boilerplate reduction
  6. org.springframework.boot:spring-boot-starter-test — testing framework
  7. Redis, RabbitMQ, Kafka, Elasticsearch clients (scaffolded in services)

📥 Installation

Maven

<dependency>
  <groupId>com.github.hoangsonww</groupId>
  <artifactId>budget-backend</artifactId>
  <version>1.0.0</version>
</dependency>
mvn clean install

Docker

docker build -t ghcr.io/hoangsonww/budget-backend:1.0.0 .
docker run -e SPRING_PROFILES_ACTIVE=prod \
           -e MONGO_URI=mongodb://host:27017/budget_manager \
           -e POSTGRES_URL=jdbc:postgresql://host:5432/budget_manager \
           -e JWT_SECRET=yourSecretKey \
           -p 8080:8080 \
           ghcr.io/hoangsonww/budget-backend:1.0.0

📖 Usage

  • Swagger UI: http://localhost:8080/docs
  • GraphQL Playground: http://localhost:8080/graphql
  • WebSocket Endpoint: ws://localhost:8080/ws/notifications

📄 License & Support

Build your frontend or CLI on top of this stable, production-ready backend foundation!