GroupHQ (https://grouphq.org)
GroupHQ is a demo application created as a training exercise for building and deploying reactive cloud-native applications through the use of Spring Boot, Project Reactor, Docker, and Kubernetes, with an emphasis on cloud-native principles, particularly based on the 15-factor app methodology
The GroupHQ Demo allows users to view, sync, join and leave auto-generated groups. While seemingly simple in nature, the demo is backed by robust and extensible services for improving and adding onto the feature set. The system is designed as a set of microservices to enable decoupling of services, independent development and deployment, and improved scalability compared to traditional monolithic applications.
The GroupHQ Demo comprises the following repositories:
- GroupHQ Deployment: Contains Kubernetes deployment manifests
- Group Service: Manages groups and their members. Built w/ Java & Spring Boot.
- Group Sync: Synchronizes groups between Group Service and end-users. Built w/ Java & Spring Boot.
- Edge Service: API gateway for handling cross-cutting concerns. Built w/ Java & Spring Boot.
- GroupHQ UI: Frontend application for viewing and joining groups. Built w/ Angular, Angular Material, & Angular Animations
- Continuous Testing Test Suite: Test suite hosting user-acceptance tests for the GroupHQ Demo. Built w/ Ruby & RSpec
- Continuous Testing Proxy Server: Proxy server for integrating the GitHub API with BuildWise, a continuous testing server. Built w/ the Ruby on Rails API.
- Continuous Testing Server