tanszek:oktatas:test
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tanszek:oktatas:test [2024/04/21 19:27] – [5.) Humidity Control System System] knehez | tanszek:oktatas:test [2025/04/07 16:32] (current) – [1.) Water Quality Monitoring System] knehez | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 1.) Prepaid Shop - Mobile Service Provider | + | ==== General requirements |
- | Create a simple HTML form where users are able to charge their mobile phones with a given amount of money. | + | * Use Docker containerization |
+ | * Use RabbitMQ (or similar) messaging queue | ||
- | | + | ==== 1.) Water Quality Monitoring System ==== |
- | The 3 mobile service providers: " | + | |
- | | + | |
- | Create | + | Develop an application that simulates monitoring and controlling water quality levels in a reservoir or river system using message queues. This system will involve three separate clients/ |
- | * Create an inner class within servlet | + | |
- | * Create an other method to list the number of payments (with a new HTTP get request). | + | |
- | ==== 2.) Message queue ==== | + | Component 1: Water Quality Data Generation Client |
+ | * Client 1: Connects to the **waterQualityQueue** using a point-to-point connection. | ||
+ | * Function: Sends messages with randomly assigned water quality readings, focusing on parameters such as **pH** **levels**, every 5 seconds. | ||
+ | |||
+ | Component 2: Water Quality Alert Processor | ||
+ | * Message Processor: Exclusively receives water quality readings from **waterQualityQueue**. | ||
+ | * Function: Monitors for critical water quality issues, such as extremely high turbidity or unsafe pH levels. | ||
+ | * Notification: | ||
+ | |||
+ | Create tests to validate: | ||
+ | * The functionality of sending and receiving messages correctly. | ||
+ | * The correct identification of critical water quality readings. | ||
+ | * The accurate accumulation and dispatch of alerts after detecting critical water quality conditions. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 2.) RGB-Colors System | ||
< | < | ||
flowchart LR | flowchart LR | ||
Line 54: | Line 67: | ||
Create tests to validate the original functionality | Create tests to validate the original functionality | ||
+ | |||
+ | ---- | ||
==== 3.) Temperature Alert System ==== | ==== 3.) Temperature Alert System ==== | ||
Line 78: | Line 93: | ||
* The accurate accumulation and dispatch of alerts after every 5 abnormal readings. | * The accurate accumulation and dispatch of alerts after every 5 abnormal readings. | ||
- | ==== 4.) Humidity Control | + | ---- |
+ | ==== 4.) Humidity Control System ==== | ||
Create an application that simulates monitoring and controlling humidity levels within an environment using message queues. This system will involve three separate clients for generating, processing, and reporting humidity data. | Create an application that simulates monitoring and controlling humidity levels within an environment using message queues. This system will involve three separate clients for generating, processing, and reporting humidity data. | ||
Line 100: | Line 116: | ||
* The accurate accumulation and dispatch of alerts after detecting high humidity conditions. | * The accurate accumulation and dispatch of alerts after detecting high humidity conditions. | ||
+ | ---- | ||
==== 5.) Air Quality Monitoring System ==== | ==== 5.) Air Quality Monitoring System ==== | ||
+ | |||
+ | Create an application that simulates monitoring and controlling air quality levels within an indoor environment using message queues. This system will involve three separate clients for generating, processing, and reporting air quality data. | ||
+ | |||
+ | Component 1: Air Quality Data Generation Client | ||
+ | * Client 1: Connects to the **airQualityQueue** using a point-to-point connection. | ||
+ | * Function: Sends messages with randomly assigned air quality readings, quantified as Air Quality Index (AQI) values, within a range of 0 (Good) to 300 (Hazardous) every 3 seconds. | ||
+ | |||
+ | Component 2: Air Quality Alert Processor | ||
+ | Message Processor: Exclusively receives AQI readings from **airQualityQueue**. | ||
+ | Function: Monitors for poor air quality readings, considered poor if they exceed an AQI of 150. | ||
+ | Notification: | ||
+ | |||
+ | Component 3: Alert Reporting Client | ||
+ | * Client 3: Reads from the **airQualityAlertQueue**. | ||
+ | * Output: Prints a message to the console, e.g., "Air quality alert: 2 consecutive readings above 150 AQI." | ||
+ | |||
+ | Create tests to validate: | ||
+ | * The functionality of sending and receiving messages correctly. | ||
+ | * The correct identification of poor air quality readings. | ||
+ | * The accurate accumulation and dispatch of alerts after detecting poor air quality conditions. | ||
+ | |||
+ | ---- | ||
+ | ==== 6.) Light Intensity Monitoring System ==== | ||
+ | |||
+ | Create an application that monitors indoor light levels (measured in lux). The system is composed of three separate clients: one for generating data, one for processing it, and one for alert reporting. | ||
+ | |||
+ | Component 1: Light Intensity Generation Client | ||
+ | - Connection: This client connects to the lightIntensityQueue using a point-to-point messaging model. | ||
+ | - Function: Every 3 seconds, it sends random light intensity (lux) readings (e.g., between 0 and 2000 lux). | ||
+ | |||
+ | Component 2: Light Intensity Processor | ||
+ | - Message Processing: This processor exclusively receives messages from the // | ||
+ | - Evaluation: Determines whether the light level is too low. For example, consider values below 100 lux as " | ||
+ | - Alert Trigger: If it encounters 3 consecutive readings below 100 lux, it sends an alert message to the lightAlertQueue stating, for example, “Low light alert: 3 consecutive readings below 100 lux.” | ||
+ | |||
+ | Component 3: Alert Reporting Client | ||
+ | - Consumption: | ||
+ | - Output: Prints any received alert to the console, for instance: "Low light alert: 3 consecutive readings below 100 lux." | ||
+ | |||
+ | Create tests to validate: | ||
+ | * Message sending and receiving: Verify that light intensity values are correctly sent and received by the respective clients. | ||
+ | * Low light detection: Check that the processor correctly identifies 3 consecutive values below 100 lux. | ||
+ | * Alert mechanism: Ensure that the alert message is added to the lightAlertQueue and that the reporting client displays it on the console. | ||
+ | |||
+ | ---- | ||
+ | ==== 7.) Sound Level Alert System ==== | ||
+ | |||
+ | Create an application that monitors sound levels (measured in decibels) in a given environment. It has three clients: one for generating noise level data, one for processing it, and one for reporting alerts. | ||
+ | |||
+ | Component 1: Sound Level Generation Client | ||
+ | - Connection: This client connects to the soundLevelQueue using a point-to-point messaging model. | ||
+ | - Function: Every 2 seconds, it sends random decibel readings (e.g., between 30 dB and 120 dB). | ||
+ | |||
+ | Component 2: Sound Level Processor | ||
+ | - Message Processing: Exclusively receives messages from the // | ||
+ | - Evaluation: Determines if the sound level is above the threshold (e.g., 80 dB) considered "too loud." | ||
+ | - Alert Trigger: After collecting 5 “too loud” readings (either consecutively or within a certain timeframe—depending on your design), the processor sends a message to the // | ||
+ | |||
+ | Component 3: Alert Reporting Client | ||
+ | - Consumption: | ||
+ | - Output: Prints to the console, for example: "High noise alert: 5 high decibel readings detected." | ||
+ | |||
+ | Create tests to validate: | ||
+ | * Message sending and receiving: Ensure decibel readings flow correctly from the generation client to the processor. | ||
+ | * High noise identification: | ||
+ | * Alert message: Verify that an alert is sent to the soundAlertQueue and that the reporting client prints it to the console. | ||
+ | |||
+ | ---- | ||
+ | ==== 8.) Pressure Monitoring System ==== | ||
+ | |||
+ | Develop an application that monitors fluid or gas pressure in a system. The task involves three clients: one that generates the pressure readings, one that processes them, and one that handles the alerts. | ||
+ | |||
+ | Component 1: Pressure Generation Client | ||
+ | - Connection: Connects to the // | ||
+ | - Function: Every 4 seconds, sends random pressure readings, for example, between 0 and 10 bar. | ||
+ | |||
+ | Component 2: Pressure Alert Processor | ||
+ | - Message Processing: Exclusively receives messages from the // | ||
+ | - Evaluation: Determines if the pressure reading is dangerously high (e.g., above 8 bar). | ||
+ | - Alert Trigger: If it detects 2 consecutive readings above 8 bar, the processor sends an alert to the // | ||
+ | |||
+ | Component 3: Alert Reporting Client | ||
+ | - Consumption: | ||
+ | - Output: Prints the alert message to the console, for example: "High pressure alert: 2 consecutive readings above 8 bar detected." | ||
+ | |||
+ | Create tests to validate: | ||
+ | * Message flow: Verify that pressure readings are correctly sent from the generation client to the processor. | ||
+ | * High pressure detection: Check that the processor accurately identifies readings above 8 bar. | ||
+ | * Consecutive reading logic: Ensure alerts are triggered only when there are 2 consecutive high readings. | ||
+ | |||
+ |
tanszek/oktatas/test.1713727678.txt.gz · Last modified: 2024/04/21 19:27 by knehez