Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danielgospodinow/catter
Love cats and modern software systems? Here's a cat facts application which has an architecture that fits modern needs
https://github.com/danielgospodinow/catter
authentication aws cats circuit-breaker docker go google jenkins kotlin kubernetes openid rabbitmq react reactive-programming rest saga-pattern software-architecture spring-boot tutorial webflux
Last synced: 4 months ago
JSON representation
Love cats and modern software systems? Here's a cat facts application which has an architecture that fits modern needs
- Host: GitHub
- URL: https://github.com/danielgospodinow/catter
- Owner: danielgospodinow
- License: apache-2.0
- Created: 2020-03-07T15:17:52.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-07T02:51:45.000Z (almost 2 years ago)
- Last Synced: 2023-08-06T05:05:58.582Z (over 1 year ago)
- Topics: authentication, aws, cats, circuit-breaker, docker, go, google, jenkins, kotlin, kubernetes, openid, rabbitmq, react, reactive-programming, rest, saga-pattern, software-architecture, spring-boot, tutorial, webflux
- Language: JavaScript
- Homepage:
- Size: 2.86 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Catter
This project aims to be a good example of how modern software systems are made. It'll demonstrate all modern best practices in software development, which includes both the architecture and the used technologies.
### Architecture of the software system
![](./resources/catter-architecture.png?raw=true "Architecture")### Topics which are (will be) covered
- Client application with React
- Facebook and Google authentication with OpenID Connect (OAuth 2.0)
- Microservice Architecture
- REST services with Kotlin Spring Boot and with Go
- Reactive programming with Spring Webflux
- Multiple AWS services (DynamoDB, EC2, ECR, etc)
- Containerization with Docker
- Deployment with Kubernetes
- CI/CD with Jenkins
- Swagger UI for the REST APIs with proper unit testing for high code coverage
- Service Discovery with Spring Eureka
- RabbitMQ/Kafka for communication between the services
- Saga (Ochestrated/Choreographed) and Circuit Breaker patterns implemented
- Terraform modules and Helm charts for automated infrastructure### Tutorial
I plan to go through all the covered topics step-by-step in a Medium article.Stay tuned. It'll be published [here](https://medium.com/@danielgospodinow).
### Screenshots
###### Home Screen
![](./resources/catter-home-screen.png?raw=true "Architecture")###### Login Screen
![](./resources/catter-login-screen.png?raw=true "Architecture")###### Register Screen
![](./resources/catter-register-screen.png?raw=true "Architecture")