Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/soat-fiap/bmb.events.processor
The bmb.event.processor project is a Python-based service designed to handle and process events within the BMB application
https://github.com/soat-fiap/bmb.events.processor
aws cronjob fiap kubernetes neo4j python sqs terraform
Last synced: about 1 month ago
JSON representation
The bmb.event.processor project is a Python-based service designed to handle and process events within the BMB application
- Host: GitHub
- URL: https://github.com/soat-fiap/bmb.events.processor
- Owner: soat-fiap
- Created: 2024-09-22T11:54:48.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-16T02:40:31.000Z (about 1 month ago)
- Last Synced: 2024-11-16T03:24:12.350Z (about 1 month ago)
- Topics: aws, cronjob, fiap, kubernetes, neo4j, python, sqs, terraform
- Language: Python
- Homepage:
- Size: 559 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# bmb.events.processor (demo)
[![Build](https://github.com/soat-fiap/bmb.events.processor/actions/workflows/terraform.yaml/badge.svg)](https://github.com/soat-fiap/bmb.events.processor/actions/workflows/terraform.yaml)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=soat-fiap_bmb.events.processor&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=soat-fiap_bmb.events.processor)
This application contains a cron job that processes messages from an Amazon SQS queue. The primary purpose of this application is to periodically fetch messages from the queue, process them, and handle any necessary business logic.
## Features
- **Cron Job Scheduling**: The application uses a cron job to schedule the message processing at regular intervals.
- **Amazon SQS Integration**: It integrates with Amazon SQS to fetch messages from the queue.
- **Message Processing**: Implements logic to process each message retrieved from the queue.
- **Error Handling**: Includes mechanisms to handle errors during message processing.## Dependencies
- [API](https://github.com/soat-fiap/FIAP.TechChallenge.ByteMeBurger)## Prerequisites
- **AWS Account**: An AWS account with access to SQS.
- **Python**: Ensure you have python installed on your machine## Message Flow
1. **Fetch Messages**: The cron job triggers and fetches messages from the Amazon SQS queue.
2. **Process Messages**: Each message is processed according to the business logic defined in the application.
3. **Send to Graph Database**: Processed messages are sent to a graph database for later processing and analysis.## Why Neo4j?
Using a graph database like Neo4j to store events like `CustomerRegistered` and `OrderCreated` for the fast-food ordering system can bring unique benefits, especially for tracking relationships as the system scales.
- **Real-time Recommendations and Personalization:**
* I'm personally more interested in understanding customer relationships and order history in a way I can make highly personalized recommendations## This repo on the infrastructure
![Architecture Diagram](aws-infra-phase-3.png)