|
1 | | -# Java Demo App |
| 1 | +# Java Spring Boot Demo App - Inventory Records Manager |
| 2 | + |
| 3 | +## Application UI Examples |
| 4 | + |
| 5 | +### Blue/Green Deployment with Feature Flags |
| 6 | + |
| 7 | +The application demonstrates both **Blue/Green deployment** strategies and **Feature Flag** implementations through a modern, responsive web interface. |
| 8 | + |
| 9 | +#### Green Environment (Feature Enabled) |
| 10 | +<details> |
| 11 | +<summary>🟢 Click to view Green Environment Screenshot</summary> |
| 12 | + |
| 13 | + |
| 14 | +*Green-themed UI with search functionality enabled, export/import features, and enhanced user experience* |
| 15 | + |
| 16 | +**Features visible:** |
| 17 | +- Search functionality with search box and button |
| 18 | +- Export to CSV and Import from CSV buttons |
| 19 | +- Green color scheme indicating feature environment |
| 20 | +- Full inventory management capabilities |
| 21 | +</details> |
| 22 | + |
| 23 | +#### Blue Environment (Stable) |
| 24 | +<details> |
| 25 | +<summary>🔵 Click to view Blue Environment Screenshot</summary> |
| 26 | + |
| 27 | + |
| 28 | +*Blue-themed stable environment with core inventory management features* |
| 29 | + |
| 30 | +**Features visible:** |
| 31 | +- No search functionality (feature disabled) |
| 32 | +- Export/Import capabilities maintained |
| 33 | +- Blue color scheme indicating stable environment |
| 34 | +- Core inventory operations available |
| 35 | +</details> |
| 36 | + |
| 37 | +## About This Application |
| 38 | + |
| 39 | +This **Inventory Records Manager** is a comprehensive Spring Boot web application that demonstrates modern software development practices including: |
| 40 | + |
| 41 | +- **🚀 Deployment Strategies**: Blue/Green deployments with zero-downtime releases |
| 42 | +- **🎯 Feature Management**: Runtime feature toggles and gradual rollouts |
| 43 | +- **🏗️ Cloud-Native Architecture**: Kubernetes-ready with Helm charts |
| 44 | +- **🔄 CI/CD Pipeline**: Automated testing, security scanning, and deployment |
| 45 | +- **📊 Monitoring & Observability**: Health checks, metrics, and resource monitoring |
| 46 | + |
| 47 | +### Key Features |
| 48 | + |
| 49 | +- **Inventory Management**: Add, edit, delete, and search inventory items |
| 50 | +- **Export/Import**: CSV data export and import functionality |
| 51 | +- **User Authentication**: Secure login and session management |
| 52 | +- **Responsive Design**: Modern UI that works across devices |
| 53 | +- **Feature Flags**: Dynamic feature enabling/disabling without deployments |
| 54 | +- **Database Integration**: PostgreSQL with Liquibase migrations |
| 55 | +- **Caching**: Redis integration for improved performance |
2 | 56 |
|
3 | 57 | ## Overview |
4 | 58 |
|
5 | | -This is a simple Sales Manager Java App that stores sales items in a table presented in a web app. This demo repo is designed to help understand some of **CI/CD** ([Continuous Integration](https://docs.github.com/en/enterprise-cloud@latest/actions/automating-builds-and-tests/about-continuous-integration)/[Continuous Delivery](https://docs.github.com/en/enterprise-cloud@latest/actions/deployment/about-deployments/about-continuous-deployment)) principles and best practices. |
| 59 | +This is a comprehensive Sales Manager Java App that stores inventory items in a PostgreSQL database and presents them through a modern web interface. This demo repository is designed to help understand **CI/CD** ([Continuous Integration](https://docs.github.com/en/enterprise-cloud@latest/actions/automating-builds-and-tests/about-continuous-integration)/[Continuous Delivery](https://docs.github.com/en/enterprise-cloud@latest/actions/deployment/about-deployments/about-continuous-deployment)) principles, deployment strategies, and modern DevOps practices. |
6 | 60 |
|
7 | 61 | ## Technology Stack |
8 | 62 |
|
9 | | -- **Language:** Java (Spring Boot framework) |
10 | | -- **Design Patterns:** MVC (Model View Controller) and OOP (Object Oriented Programming) |
11 | | -- **Database:** [PostreSQL 10.4](https://www.postgresql.org/docs/10/release-10-4.html) (compatible with other versions) |
12 | | -- **CI/CD Pipeline:** [GitHub Actions](https://docs.github.com/en/enterprise-cloud@latest/actions) |
| 63 | +- **Backend:** Java 17+ with Spring Boot 2.7+ |
| 64 | +- **Frontend:** Thymeleaf templates with Bootstrap 5 and modern CSS |
| 65 | +- **Database:** [PostgreSQL 10.4+](https://www.postgresql.org/docs/10/release-10-4.html) with Liquibase migrations |
| 66 | +- **Caching:** Redis for session management and performance optimization |
| 67 | +- **Container Platform:** Docker & Kubernetes with Helm charts |
| 68 | +- **Monitoring:** Spring Boot Actuator with health checks and metrics |
| 69 | +- **Security:** Spring Security with authentication and authorization |
| 70 | +- **Design Patterns:** MVC (Model View Controller), Repository Pattern, and OOP |
| 71 | +- **CI/CD Pipeline:** [GitHub Actions](https://docs.github.com/en/enterprise-cloud@latest/actions) with automated testing and deployment |
| 72 | + |
| 73 | +### Architecture Components |
| 74 | + |
| 75 | +- **Application Server**: Spring Boot with embedded Tomcat |
| 76 | +- **Database Layer**: PostgreSQL with connection pooling |
| 77 | +- **Caching Layer**: Redis cluster for improved performance |
| 78 | +- **Load Balancer**: Kubernetes Services with traffic distribution |
| 79 | +- **Feature Management**: Runtime configuration via ConfigMaps |
| 80 | +- **Deployment Strategy**: Blue/Green with Helm-based releases |
13 | 81 |
|
14 | 82 | ## CI/CD Pipeline |
15 | 83 |
|
|
0 commit comments