Production Ready Microservices Starter
March 25, 2019 ยท View on GitHub
Build your business microservices with Production Ready Microservices Starter.
image:https://travis-ci.org/mmahmoodictbd/production-ready-microservices-starter.svg?branch=master["Build Status", link="https://travis-ci.org/mmahmoodictbd/production-ready-microservices-starter"] image:https://ci.appveyor.com/api/projects/status/l86attc8u56jgv0r?svg=true["Appveyor Status", link="https://ci.appveyor.com/project/mmahmoodictbd/production-ready-microservices-starter"] image:https://codecov.io/gh/mmahmoodictbd/production-ready-microservices-starter/branch/master/graph/badge.svg["Code Coverage", link="https://codecov.io/gh/mmahmoodictbd/production-ready-microservices-starter"] image:https://img.shields.io/github/license/mmahmoodictbd/production-ready-microservices-starter.svg["LICENSE", link="https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/LICENSE"]
image:https://sonarcloud.io/api/project_badges/measure?project=mmahmoodictbd_production-ready-microservices-starter&metric=alert_status["Quality Gate", link="https://sonarcloud.io/dashboard?id=mmahmoodictbd_production-ready-microservices-starter"] image:https://sonarcloud.io/api/project_badges/measure?project=mmahmoodictbd_production-ready-microservices-starter&metric=bugs["Bugs", link="https://sonarcloud.io/dashboard?id=mmahmoodictbd_production-ready-microservices-starter"] image:https://sonarcloud.io/api/project_badges/measure?project=mmahmoodictbd_production-ready-microservices-starter&metric=code_smells["Code smells", link="https://sonarcloud.io/dashboard?id=mmahmoodictbd_production-ready-microservices-starter"] image:https://sonarcloud.io/api/project_badges/measure?project=mmahmoodictbd_production-ready-microservices-starter&metric=security_rating["Security rating", link="https://sonarcloud.io/dashboard?id=mmahmoodictbd_production-ready-microservices-starter"] image:https://sonarcloud.io/api/project_badges/measure?project=mmahmoodictbd_production-ready-microservices-starter&metric=sqale_rating["Maintainability", link="https://sonarcloud.io/dashboard?id=mmahmoodictbd_production-ready-microservices-starter"]
Motivation
- Every time I want to build some application, I need to copy features / APIs from older application.
- Exposed as APIs, no more repeat feature.
- Easy to update dependency versions and fix bugs.
Key Features
- REST APIs.
- Single schema multi-tenancy.
- Spring stack.
- Followed micoservice best practices.
Basic microservices includes -
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/service-registry/README.asciidoc[Discovery Service] aka service registry
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/gateway/README.asciidoc[Gateway / Edge Service]
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/uaa/README.asciidoc[User Accounts and Authentication Service (UAA)] (Work in progress)
- Manage users with tenant and org concept.
- JWT Authentication.
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/notification-service/README.asciidoc[Notification Service] (Work in progress)
- HTML
- SMS
- Push
- Mobile push notification with Firebase.
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/file-storage-service/README.asciidoc[File Storage Service] (Work in progress)
- Store files and serve.
- Store public and private files.
- Access files with share-only link.
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/contact-service/README.asciidoc[Contact Service] (Work in progress)
- Generic contacts feature.
- Share contacts within the company (Org).
-
Localization Service (Coming soon)
- UI labels and messages in preferred language.
-
Audit Service (Coming soon)
- Log important changes.
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/blog-service/README.asciidoc[Blog Service] (Work in progress)
- Create, fetch and list post.
- Manage site info.
-
Messaging / Chat Service (Coming soon)
- Chat between users of the system.
- Social media chat integration.
-
Approve Service (Coming soon)
- Manage processes with multi level approval.
-
UI Menu Service (Coming soon)
- Build menu items based on user access permission.
Quick Deploy
mkdir production-ready-microservices-starter && cd $_
bash <(curl -sSL https://raw.githubusercontent.com/mmahmoodictbd/production-ready-microservices-starter/master/init.sh)
Technologies
Java 8, Spring Boot, Spring Cloud, Spring Data JPA, REST APIs, Maven, Liquibase, Kubernetes
Documentations
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/documentation/how-to-run-local-machine.asciidoc[How to run in local machine]
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/documentation/how-to-run-docker.asciidoc[How to run in Docker / Docker Compose]
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/documentation/push-docker-image-dockerhub.asciidoc[How to build and push Docker images]
-
https://github.com/mmahmoodictbd/production-ready-microservices-starter/blob/master/deployment/deployment-strategies.asciidoc[Deployment Strategies (Kubernetes, PCF and bare metal) (Work in progress)]
Copyright & License
Licensed under the MIT License, see the link:LICENSE[LICENSE] file for details.