- This prject is for:
- Data Pipeline Service with Apache Kafka, Postgres, and MongoDB.
- API service, and a
- Next.js Application.
- Before diving into the project, ensure you have the following prerequisites:
- Docker — Docker Compose
- Apache Kafka (Stream Processing)
- PostgreSQL
- Superset(Report/Dashboard)
- Kafka UI ( Kafka Monitoring)
- Grafana (System Monitoring)
-
The project has the following services running as Docker containers
- mongo
- postgres
- pgadmin
- dpage/pgadmin4 is a web based administration tool for the PostgreSQL database.
- kafka
- kafka-ui
- zookeeper
- schema-registry
- sale-order-api
- customer-api
- nextjs.app
- Check my github.com/nyangweso-rodgers - Running PostgreSQL Docker Container, GitHub repo on how to configure and run postgresql docker container using docker-compose.
services:
- To connect to a PostgreSQL instance running within a Docker container, you can use the
docker exec
command combined with thepsql
command: - Example:
#accessing postgres docker container docker exec -it postgres psql -U admin -d test_db
- Remarks:
- Check my GitHub Repo for a list of
psql
commands
- Check my GitHub Repo for a list of
- Check github.com/nyangweso-rodgers - Run MongoDB Docker Container repo on how to run a mongo docker container using docker-compose.
- Check github.com/nyangweso-rodgers - mongoDB replica set repo, to successfully set up a MongoDB replica set with Docker Compose. This ensures that you have a highly available and resilient MongoDB deployment.
services:
services:
services:
services:
services:
-
To register the above connector, run the below
curl
commands:curl -X POST --location "http://localhost:8083/connectors" -H "Content-Type: application/json" -H "Accept: application/json" -d @register-customer-postgresdb-connector.json
-
and
curl -X POST --location "http://localhost:8083/connectors" -H "Content-Type: application/json" -H "Accept: application/json" -d @register-delegates-survey-postgresdb-connector.json
services:
services:
- We can build the dashboards using the following tools:
- Metabase
- Superset
- Redash
- Tableau
- Power BI
services:
- Once the Docker Compose is up and running, you can access Metabase at http://localhost:3000 in your web browser.
- When you first open Metabase, it will ask you to setup a connection to your database. Here are the settings you need to use:
- Database type: PostgreSQL
- Host: postgres
- Port: 5432
- Database name:
- Username:
- Password:
- Now, you should be able to explore your PostgreSQL data using Metabase!