Code Monkey home page Code Monkey logo

phoneapp's Introduction

Phone App

Masmovil challenge

Software requeriments for this project

  • Maven 4
  • JDK 8
  • Docker 18.06.1-ce

Build and run

To build application run command ./mvn clean package. To run application run command docker-compose up --build and wait till all services will start. Go to discovery service and check that 4 services are registered.

Services

This application has a microservices arquitechture with 2 microservice, one for Phone entity and one for Order Entity. There is a Discovery service with Eureka, a Spring Cloud Config server and a gateway server with Zuul. The application uses MySQL databases running on Docker containers.

Ports

Discovery service: 8761.
Gateway service: 8084.
Config service: 8888.
MySQL database for Phone service: 8083.
Phone service: 8081.
MySQL database for Order service: 8082.
Order service: 8089.

Endpoints

###Phones

GET /phones

###Orders

POST /order

Request:

{
  "nombre":"Juan",
  "apellidos":"Gomez Gil",
  "email":"[email protected]",
  "items":[2,3],
  "total":65.89
}

Questions

  • How would you improve the system?

Add documentation for the services with Swagger or another framework.

Add pagination to phone service when return the list of phones.

Add security to the system with JWT and OAuth.

Add exception and error management.

Deploy containers using and orchestrator like Kubernetes.

  • How would you avoid your order API to be overflow?

Deploying microservices in a PaaS as AWT to manage the microservice demand and load balancing.

phoneapp's People

Contributors

josegsan avatar josezz avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.