template temas sirve section scripts que para how example buy php android angularjs laravel-4

php - temas - Laravel Consumer and Provider App architecture



php laravel templates (5)

Estoy usando Laravel para crear una aplicación que ayude a los usuarios a encontrar proveedores de servicios. Habrá 2 aplicaciones como Uber, 1 para los usuarios y 1 para los proveedores. El usuario hará una solicitud y, dependiendo de la solicitud, los Proveedores seleccionados recibirán una notificación. Al igual que Uber.

El problema es cómo debería diseñar esto. Lo que se me ocurrió:

  1. 2 APLICACIONES: tienen 2 aplicaciones Laravel con db común. ¿Pero cómo notificar a los proveedores cuando un usuario genera una solicitud? Solo cambia el DB, entonces, ¿cómo le digo a la aplicación del proveedor que la aplicación del usuario generó una solicitud?

  2. Single App 2 FrontEnds: tiene una sola aplicación Laravel y 2 frontales. Habrá aplicaciones separadas en Play Store, pero solo una aplicación de servidor. ¿Cómo puedo hacer esto?

¿Hay una mejor solución para este enfoque? ¿Cómo hace Uber lo mismo?


Creo que una buena solución sería poner toda la lógica de negocios en una aplicación de Laravel a la que se pueda acceder a través de REST. Por lo tanto, no tiene que actualizar los archivos dos veces.

Las aplicaciones "reales" solo funcionan como un nivel intermedio y usan esta API.

Por ejemplo, al frente, puede configurar Angular Apps. Si usa nginx, puede definir diferentes ubicaciones por dominio. De esta forma, todas las solicitudes que comienzan con "api" se enrutan a su aplicación Laravel. El resto se enruta a su aplicación angular estática.

{ listen 80; server_name customer.com; location /api{ root /var/www/api; } location / { root /var/www/static/customer; } } { listen 80; server_name internalarea.com; location /api{ root /var/www/api; } location / { root /var/www/static/restricted; } }

https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms

Si construye sus aplicaciones frontend también con Laravel, la API se convierte en una URL propia que es utilizada por los sistemas frontend. Para hacer estas solicitudes, me gusta usar Zend / Http / Client, que es muy cómodo.


Si desea desarrollar una aplicación para el usuario normar y para el proveedor.

Luego, le sugiero que desarrolle 2 aplicaciones separadas y un solo servidor (nunca cree servidores diferentes para ninguna aplicación)

O puede asignar tipos de usuario en el momento del registro.


Sugeriría que utilizas un servicio determinado como PubNub (ver Demos) .

De esa forma podrías guardar tu Desarrollo del Servidor, también hay un Ejemplo de Android. Simplemente utilízalo en tu APLICACIÓN así:

dependencies { .... compile ''com.pubnub:pubnub:3.7.4'' //''com.pubnub:pubnub-android-debug:3.7.+'' For the debug version }

y

import com.pubnub.api.*; import org.json.*; Pubnub pubnub = new Pubnub("demo", "demo"); try { pubnub.subscribe("my_channel", new Callback() { @Override public void connectCallback(String channel, Object message) { pubnub.publish("my_channel", "Hello from the PubNub Java SDK", new Callback() {}); } @Override public void disconnectCallback(String channel, Object message) { System.out.println("SUBSCRIBE : DISCONNECT on channel:" + channel + " : " + message.getClass() + " : " + message.toString()); } public void reconnectCallback(String channel, Object message) { System.out.println("SUBSCRIBE : RECONNECT on channel:" + channel + " : " + message.getClass() + " : " + message.toString()); } @Override public void successCallback(String channel, Object message) { System.out.println("SUBSCRIBE : " + channel + " : " + message.getClass() + " : " + message.toString()); } @Override public void errorCallback(String channel, PubnubError error) { System.out.println("SUBSCRIBE : ERROR on channel " + channel + " : " + error.toString()); } } ); } catch (PubnubException e) { System.out.println(e.toString()); }

Si está buscando ideas sobre cómo Uber está haciendo esto, consulte el tutorial " El kit de solución de PubNub Connected Car "

Así que espero poder responder, cómo lo hace Uber y cómo puedes hacerlo mejor :-)


Debería desarrollar una API común y dos aplicaciones como Uber. O podría compilar solo una aplicación para el vendedor y el comprador como eBay. Debe usar un oyente en el código de su servidor para que cada vez que se active un evento deba enviar tales notificaciones. Eche un vistazo al patrón de diseño de los oyentes.


Como hay una única (base de datos), es mejor usar una sola aplicación back-end. Puede enviar la notificación de inserción a los proveedores (aplicación de Android) cuando el usuario agrega una nueva solicitud.