/production-ready-microservices-starter

Production Ready Microservices Starter gonna give you basic microservices which are common in all businesses. Best thing is - all microservices are multitenant.

Primary LanguageJavaMIT LicenseMIT

Production Ready Microservices Starter

Build your business microservices with Production Ready Microservices Starter.

Build Status Appveyor Status Code Coverage LICENSE

Quality Gate Bugs Code smells Security rating Maintainability

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 -

  • Discovery Service aka service registry

  • Gateway / Edge Service

  • User Accounts and Authentication Service (UAA) (Work in progress)

    • Manage users with tenant and org concept.

    • JWT Authentication.

  • Notification Service (Work in progress)

    • HTML

    • Email

    • SMS

    • Push

    • Mobile push notification with Firebase.

  • File Storage Service (Work in progress)

    • Store files and serve.

    • Store public and private files.

    • Access files with share-only link.

  • 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.

  • 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

Licensed under the MIT License, see the LICENSE file for details.