Code Monkey home page Code Monkey logo

houston-problem's Introduction

Houston, we have problems with the queries

License: MIT

This repository contains all the files related with the conference.

Requirements

To create your microservice you need to have in your machine the following things:

If you don't have some of these tools in your machine installed, please follow the instructions in the official documentation of each tool.

Check requirements

If you have installed on your machine some of these tools previously or you installed all the tools now, please check if everything works fine.

  • Check which version of Java you have using the following command:

    % java -version
    openjdk version "11.0.8" 2020-07-14
    OpenJDK Runtime Environment (build 11.0.8+10)
    OpenJDK 64-Bit Server VM (build 11.0.8+10, mixed mode, sharing)
    
  • Check whether your Maven version is 3.0.0 or up. You can see which version of Maven you have using the following command:

    % mvn --version
    Apache Maven 3.0.0
    Maven home: /usr/share/maven
    
  • Check whether the version of Docker in your machine is 18.09.0 or higher. You can check the version of Docker using the following command:

    % docker --version
    Docker version 18.09.0, build 369ce74a3c
    

Run the APIs

To run API, please follow these steps:

  1. Clone the repository
  2. Open a terminal in the directory of the API and run mvn clean install this command compiles all the code and generates the jars. After doing that, run docker-compose build and docker-compose up all the components run together.
  3. If everything works fine, open a web browser in the URL which appears in the documentation section.

Another option is to open each project in the IDE (Eclipse, IntelliJ) and run it. Take into consideration that the repository has a file docker-compose-infrastructure.yml which has the containers to run the databases that Catalog uses to get the information, so compile and run this file before running all the microservices in your IDE. To run the infrastructure the commands change a little: docker-compose -f docker-compose-infrastructure.yml build and docker-compose -f docker-compose-infrastructure.yml up.

If you have any doubt about the status of the microservices, you can open another terminal in the root directory of the code and run docker ps, this command will show you which port the different container expose, the status (up, down), and the names.

Additionally to all this options there is Makefile which you can run all the steps using one command make start (this represent the first 3 steps) or make start-infra to run only the infrastructure. To stop all the containers you can execute make stop or make stop-infra.

Documentation of APIs

The API has documentation to understand which parameters are required and the URL to invoke them. To see the documentation to understand which endpoints are available you can use the Swagger

FAQ

Which version of the JDK can I use on this project?

There is no restriction about which version, in particular, you need to consider that exist different alternatives to the JDK:

  • OracleJDK: This version was free until Java 11, after this version you can use it for development/test environments, but you need to pay a license to use it on production. This version of the JDK offers to you the most recent patches of bugs and new features because Oracle is the owner of the language.

  • OpenJDK: When Oracle bought Sun Microsystems created this as an open-source alternative that all the developers can use in any environment without restrictions. The main problem with this version is the patches of the bugs take time to appear in a case that is not critical.

Take into consideration that there are other alternatives but according to Snyk 2021 Report, most of the developers use OpenJDK.

Which tools can I use for development?

Many free tools support development. Here are two you may like:

  • IntelliJ IDEA Community Edition โ€“ IntelliJ is the most widely used IDE for development.

  • Eclipse โ€“ Eclipse is another IDE option for Kotlin development. Most plugins are free and have a vast community of developers who frequently update them.

Take into consideration that there are other IDE but according to Snyk 2021 Report, most of the JVM developers use Eclipse and Intellij, but the use of Visual Studio code is growing in the last year.

houston-problem's People

Contributors

andres-sacco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 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.