Git Product home page Git Product logo

uoc-iscsd-pr2's Introduction


ISCSD

ISCSD project stub

Report Bug · Request Feature

Contents
  1. About this project
  2. Before starting
  3. Tnstallation
  4. Links to used tools, libraries and modules
  5. Contact

About this project

This is the lab project for the ISCSD course at the UOC. It is made up of 3 elements (each one in its own GIT repository):

It consists of implementing the subset of microservices: ShowCatalog and Notification.

(go up)

Made with

(go up)

Before starting

To set up the containers that are part of the basic infrastructure of the project, the following ports will be used:

  • 22181 - Apache Kafka (Zookeeper)
  • 19092, 29092 - Apache Kafka (Server)
  • 54320 - PostgreSQL
  • 18080 - Adminer
  • 18081 - Used by the showcatalog microservice
  • 18082 - Used by the notification microservice

To avoid conflicts with other installed applications, the default ports of all applications have been modified. Still, if there is a conflict over a port already in use, simply modifying the ports specified in the docker-compose.yml file will fix the problem. This link to the official docker compose documentation explains how to modify this configuration using the ports: Networking in Compose option. IMPORTANT NOTICE: The modified ports will also have to be changed in the microservices configuration (usually defined in the Spring application.properties file).

Installation

Docker Desktop / Docker Compose installation

Proceed to install Docker Compose following the steps described in the following guide: https://docs.docker.com/compose/install/ (according to your OS).

Under Windows, registration may be required, as Docker Desktop requires it for educational/personal/non-commercial projects. On the plus side, it will not be necessary to install anything else because it already includes Compose.

It is important that you carefully review the hardware and software requirements described in the installation guides. Docker can run on two different backends and each one has different requirements. If your system can't meet them, you will see errors when trying to start containers even after a successful installation. An alternative for those with slightly older systems is Docker Toolbox.

Once Docker Compose is installed, we will continue with the project stub. It is recommended to set up a folder structure like so:

epcsd-spring-main
├ README.md
├ docker-compose.yml
├ epcsd-spring-notification-main
└ epcsd-spring-showcatalog-main

(go up)

Basic infrastructure (dockers)

  • Download the code in ZIP format or just clone the epcsd-spring repository in the working folder (epcsd-spring-main if the recommendation has been followed).

  • From the work folder, run the command:

    docker compose up
    (Win)
    docker-compose up
    (Linux)

The following containers should start:

  • epcsd-spring_adminer_1 - adminer, an SQL client
  • epcsd-spring_kafka_1 - the kafka server
  • epcsd-spring_db_1 - the postgresql database
  • epcsd-spring_zookeeper_1 - kafka zookeeper

In order to verify that all containers are up and running, we will execute the following command:

docker ps -a

We should see something like this:

Screenshot_1

To check the operation, you can access the Adminer panel at http://localhost:18080/ and make a query against the PostgreSQL DB that we have just instantiated with the following connection data:

  • Engine: PostgreSQL
  • Server: db
  • User: epcsd
  • Password: epcsd
  • Schema: epcsd

Screenshot_1

Screenshot_2

ShowCatalog and Notification microservices

(go up)

Links to used tools, libraries and modules

Contact

Pau Pineda - [teacher email removed for privacy reasons]

(go up)

uoc-iscsd-pr2's People

Contributors

jmartac avatar

Stargazers

Alex 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.