All Projects → LUSHDigital → microservice-remote-models

LUSHDigital / microservice-remote-models

Licence: Apache-2.0 license
A Lumen package to provide a familiar model paradigm for distributed data.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to microservice-remote-models

kex
ORM-less for Knex
Stars: ✭ 17 (-22.73%)
Mutual labels:  models
json2python-models
Generate Python model classes (pydantic, attrs, dataclasses) based on JSON datasets with typing module support
Stars: ✭ 119 (+440.91%)
Mutual labels:  models
rentnride
Rent&Ride is an open source for Car Rental script. Travel to any of your favourite places by availing the services in the Rent & Ride application. Book cars for rental by making use of the flexibility to choose the car of your interest.
Stars: ✭ 37 (+68.18%)
Mutual labels:  lumen
godmt
Tool that can parse Go files into an abstract syntax tree and translate it to several programming languages.
Stars: ✭ 42 (+90.91%)
Mutual labels:  models
SafeAI
Reusable, Easy-to-use Uncertainty module package built with Tensorflow, Keras
Stars: ✭ 13 (-40.91%)
Mutual labels:  models
sns-laravel
A library to enable sending and receiving broadcasts to and from SNS topics in Laravel and Lumen.
Stars: ✭ 23 (+4.55%)
Mutual labels:  lumen
alipay
laravel lumen alipay 最简单,最安全,无验签,支付宝转账支付
Stars: ✭ 18 (-18.18%)
Mutual labels:  lumen
DjangoFlix
Create a netflix-like service using Django. Learn advanced Django techniques to achieve amazing results like never before.
Stars: ✭ 58 (+163.64%)
Mutual labels:  models
vue-example
Vue.js example application (server-side rendering, router, vuex store, form validation, i18n & l10n)
Stars: ✭ 62 (+181.82%)
Mutual labels:  models
laravel-web-logs
View Laravel File-Based Logs In Web
Stars: ✭ 162 (+636.36%)
Mutual labels:  lumen
quake authmdl
Authentic Model Improvements for Quake
Stars: ✭ 44 (+100%)
Mutual labels:  models
Laravel-Auto-Hard-Deleter
Laravel and Lumen Auto Hard Deleter
Stars: ✭ 34 (+54.55%)
Mutual labels:  lumen
lumen-api-starter
A starter project to develop API with Lumen 8.*
Stars: ✭ 42 (+90.91%)
Mutual labels:  lumen
mtomo
Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation. Intel iHD GPU (iGPU) support. NVIDIA GPU (dGPU) support.
Stars: ✭ 24 (+9.09%)
Mutual labels:  models
lumen-boilerplate
Opinionated way to start a new Lumen project.
Stars: ✭ 20 (-9.09%)
Mutual labels:  lumen
dsge
Course on Dynamic Stochastic General Equilibrium (DSGE): Models, Solution, Estimation (graduate level)
Stars: ✭ 41 (+86.36%)
Mutual labels:  models
lumen-file-manager
File manager module for the Lumen PHP framework.
Stars: ✭ 40 (+81.82%)
Mutual labels:  lumen
django-i18nfield
Store internationalized strings in Django models with full forms support
Stars: ✭ 32 (+45.45%)
Mutual labels:  models
telegram-observer-bot
Telegram Observer Bot automates a few routine commands to make managing groups easier.
Stars: ✭ 34 (+54.55%)
Mutual labels:  lumen
COLLADAViewer2
An OBSOLETE instructional OS X application to load/display COLLADA Models and export to compact binary representations.
Stars: ✭ 48 (+118.18%)
Mutual labels:  models

Lush Digital - Microservice Remote Models

A Lumen package to provide a familiar model paradigm for distributed data.

Description

This package provides a model system, similar to Eloquent, but with the key focus on distributed data. Each model class is bound to a remote microservice with an expected RESTful API. This allows developers to create service aggregators which can manipulate data, via models, just as easily as if the data was in a local database.

To allow this to work the package is quite opinionated on the request/response data in the remote services. This data should always conform to the following standard:

https://github.com/LUSHDigital/microservice-core/blob/master/spec/swagger.yaml

This package is intended to operate within a Kubernetes cluster whereby service discovery is handled by DNS names.

Relationships

The package also handles relationships between remote models via the use of gRPC. As well as the microservices existing to power the remote models, it is also expected that a gRPC application will be available to manage the relationships. This gRPC application is based upon this protocol buffer.

See the Configuration documentation for information on DNS and ports.

Installation

Install the package as normal:

$ composer require lushdigital/microservice-remote-models

Register the service provider with Lumen in the bootstrap/app.php file:

$app->register(LushDigital\MicroServiceRemoteModels\RemoteModelServiceProvider::class);

The package requires that the following changes are made to the Lumen config in bootstrap/app.php

<?php

// Uncomment the line below to enable Facade support.
$app->withFacades();

// Uncomment the line below to enable Eloquent ORM support.
$app->withEloquent();

// Add the line below to load database config. This is required for caching to work.
$app->configure('database');

Documentation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].