{"id":21391175,"url":"https://github.com/tejasthombare20/ruleengine-weathermonitor","last_synced_at":"2026-04-12T18:05:58.313Z","repository":{"id":259776951,"uuid":"879006300","full_name":"TejasThombare20/RuleEngine-WeatherMonitor","owner":"TejasThombare20","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-29T06:13:50.000Z","size":55761,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T13:23:50.468Z","etag":null,"topics":["golang","heuristic-search-algorithms","nextjs","postgresql-database","query-optimizer","tailwindcss","timescaledb","timeseries-database","weather-api"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TejasThombare20.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-26T17:48:17.000Z","updated_at":"2024-12-30T16:47:15.000Z","dependencies_parsed_at":"2024-10-28T00:51:38.009Z","dependency_job_id":"e68fb810-3a58-4481-b782-2e951928f53f","html_url":"https://github.com/TejasThombare20/RuleEngine-WeatherMonitor","commit_stats":null,"previous_names":["tejasthombare20/ruleengine-weathermonitor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TejasThombare20/RuleEngine-WeatherMonitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TejasThombare20%2FRuleEngine-WeatherMonitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TejasThombare20%2FRuleEngine-WeatherMonitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TejasThombare20%2FRuleEngine-WeatherMonitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TejasThombare20%2FRuleEngine-WeatherMonitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TejasThombare20","download_url":"https://codeload.github.com/TejasThombare20/RuleEngine-WeatherMonitor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TejasThombare20%2FRuleEngine-WeatherMonitor/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267616850,"owners_count":24116170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","heuristic-search-algorithms","nextjs","postgresql-database","query-optimizer","tailwindcss","timescaledb","timeseries-database","weather-api"],"created_at":"2024-11-22T13:24:12.807Z","updated_at":"2026-04-12T18:05:58.249Z","avatar_url":"https://github.com/TejasThombare20.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Full Stack Applications - Rule Engine \u0026 Weather Monitor\n\nThis repository contains two full-stack applications: a Rule Engine and a Weather Monitoring system. Both applications are containerized using Docker for easy deployment and testing.\n\n## Deploy link : \n- Rule Engine with AST: https://rule-engine-sand.vercel.app/\n- Weather Monitor : https://weather-monitor-tau.vercel.app/\n\n# Table of Contents\n\n## Overview\n- [Full Stack Applications - Rule Engine \u0026 Weather Monitor](#full-stack-applications---rule-engine--weather-monitor)\n- [Technology Stack](#technology-stack)\n  - [Rule Engine Application](#rule-engine-application)\n  - [Weather Monitor Application](#weather-monitor-application)\n\n## Features\n- [Application Features](#application-features)\n  - [Rule Engine Application](#rule-engine-application-1)\n    - [Core Features](#core-features)\n    - [Query Optimization](#query-optimization)\n    - [Advanced Rule Combination Heuristics](#advanced-rule-combination-heuristics)\n  - [Weather Monitoring Application](#weather-monitoring-application)\n    - [Core Features](#core-features-1)\n    - [Data Analysis](#data-analysis)\n    - [Advanced Features](#advanced-features)\n    - [Performance Optimization](#performance-optimization)\n\n## Setup \u0026 Installation\n- [Getting Started](#getting-started)\n  - [Option 1: Using Docker Compose](#option-1-using-docker-compose)\n  - [Option 2: Using Pre-built Docker Image](#option-2-using-pre-built-docker-image)\n\n## Technical Details\n- [Application Ports](#application-ports)\n  - [Rule Engine](#rule-engine)\n  - [Weather Monitor](#weather-monitor)\n\n\n## Main  : \n\n## Technology Stack\n\n### Rule Engine Application\n- **Frontend**: Next.js\n- **Backend**: Golang (Gin Framework)\n- **Database**: MongoDB\n\n### Weather Monitor Application\n- **Frontend**: Next.js\n- **Backend**: Golang (Gin Framework)\n- **Database**: PostgreSQL (TimescaleDB)\n\n\n## Application Features\n\n### Rule Engine Application\n#### Core Features:\n- Rule Creation and Management\n  - Create individual rules with multiple conditions\n  - Combine 2+ rules with complex logical operations\n  - Real-time rule evaluation based on input data\n\n#### Query Optimization:\n- Optimized queries for:\n  - Rule creation\n  - Rule combination\n  - Rule evaluation\n  - Rule optimization\n\n#### Advanced Rule Combination Heuristics:\n- Intelligent rule merging strategy:\n  - Identifies and isolates common conditions for single evaluation\n  - Preserves rule semantics during combination\n  - Rules without common conditions: Combined using AND operations\n  - Rules with common conditions: Merged using OR operations after extracting common conditions\n\n### Weather Monitoring Application\n#### Core Features:\n- Multi-City Weather Tracking\n  - Real-time monitoring of three cities\n  - Data collection every 5 minutes\n  - Tracks:\n    - Current temperature\n    - \"Feels like\" temperature\n    - Dominant weather condition\n\n#### Data Analysis:\n- Daily Data Aggregation and Rollups:\n  - Maximum temperature\n  - Minimum temperature\n  - Average temperature\n  - Per-city analysis\n\n#### Advanced Features:\n- Customizable Alert System\n  - User-defined temperature thresholds for each city\n  - Automated notification system\n  - City-specific alert configurations\n\n#### Performance Optimization:\n- Query optimization using:\n  - Database Views\n  - TimescaleDB time_bucket function\n  - Efficient data rollup strategies\n\n## Getting Started\n\nThere are two ways to run these applications:\n\n### Option 1: Using Docker Compose\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/TejasThombare20/RuleEngine-WeatherMonitor.git\ncd zeotap\n```\n\n2. Start all services using Docker Compose:\n```bash\ndocker-compose up -d\n```\n\n3. Access the applications:\n   - Rule Engine: http://localhost:3001\n   - Weather Monitor: http://localhost:3002\n\n### Option 2: Using Pre-built Docker Image\n\n1. Pull the image:\n```bash\ndocker pull tejasthombare/zeotap\n```\n\n2. Run the container:\n```bash\ndocker run -d \\\n  -p 3001:3000 \\\n  -p 3002:3000 \\\n  -p 8000:8000 \\\n  -p 9000:9000 \\\n  tejasthombare/zeotap\n```\n\n3. Access the applications:\n   - Rule Engine Frontend: http://localhost:3001\n   - Rule Engine Backend: http://localhost:8000\n   - Weather Monitor Frontend: http://localhost:3002\n   - Weather Monitor Backend: http://localhost:9000\n\n## Application Ports\n\n### Rule Engine\n- Frontend: 3001\n- Backend API: 8000\n\n### Weather Monitor\n- Frontend: 3002\n- Backend API: 9000\n\n## Project Structure\n\n```\n.\n├── rule_engine/\n│   ├── client/          # Next.js frontend\n│   └── server/          # Golang backend\n├── weather_monitoring/\n│   ├── client/          # Next.js frontend\n│   └── server/          # Golang backend\n├── Dockerfile\n├── docker-compose.yml\n└── README.md\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftejasthombare20%2Fruleengine-weathermonitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftejasthombare20%2Fruleengine-weathermonitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftejasthombare20%2Fruleengine-weathermonitor/lists"}