The Lancaster Solutions project was a set of full-stack and MEAN stack, multiple domain-specific projects (microservices), each developed to satisfy some specific business needs, but together they function as a large business platform.
The architecture is heavily based on REST APIs and a centralized security solution for internal microservice communication.
Here are some examples of Lancaster Solutions Microservices :
A General purpose, provider-based communication micro-service. It is intended to provide communication needs for all the other micro-services. It doesn’t matter if it is SMS, Email, a phone call or another communication layer, the goal here is to provide a unified interface for whatever the business dictates are necessary.
Customer management and support platform, intended for managing customers and helping them as necessary. It includes customer features, a ticket system, and support – customer communication channels.
Being a micro-service itself, it is created to manage the other microservice data. Basically, it is a central system for administrators, affiliates and company owners. Here they can manage their company data, view statistics and customize their solutions.
A Simple, yet powerful queuing solution for providing an internal communication channel between the micro-services. Introduced not only to provide the possibility of sending information from one service to another but also to retain data temporarily and allow the micro-services to process them on a scheduled basis.
A platform for providing a unified environment to the business platforms of other companies. For example, if a country-wide dentist franchise wants to have a unified platform for all their clients, to run marketing tasks, with a unified front-end interface, their front-end can be created here allowing customers the ability to use the full micro-service stack functionality, such as support, etc.
A MEAN stack-based notification system for real-time client-side notifications. Powered by Node.JS and Socket.IO technology, this queue-based notification server works lightning fast. Anything that wants to communicate just pushes notifications into the queue and they get displayed via the front-end.
Provider-based, a general payment solution for handling the sale, authorization, capture, charge-back, refund and 3D secure payment transactions. This micro-service provides a unified interface for multiple payment providers, allowing users to easily switch between them.
An Elasticsearch and Symfony based statistics aggregation micro-service. The intention here is to abstract statistics logic and aggregation with REST API. Of course, the elastic search can become less productive as the amount of data grows larger, and it might become necessary to introduce big data solutions, however, when the time comes, it will be easy to migrate.
This is the platform for managing different subscription models and corresponding subscriptions. The subscription model defines the business process of the subscription lifetime. The subscription itself is a record, retaining information about the customer and the service to which they have subscribed. This micro-service is also responsible for the management of the corresponding subscription payments.
A special document repository intended for developers. We follow the latest trends in the PHP world and constantly improve our skill-sets with PSR and other code quality standards. But sometimes, this is not enough. So, to fill in the blanks of the code style and quality, we develop our own (with respect to PSR) standards, maintaining the code style and high quality.
As well as coding style, this module also focuses on topics for that are useful for newcomers as they join the development team, enabling them to quickly produce high-quality results, respecting the already produced source and solutions.
Developing software this way makes the development process harder and more time-consuming, however, it has the advantage of allowing the repeated use of different functional modules across different systems.