@seeka-labs/cli-apps 3.8.2 → 3.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-context/internal/examples/_index.md +1 -1
- package/dist/ai-context/internal/examples/v1/activecampaign/_ai-summary.md +25 -32
- package/dist/ai-context/internal/examples/v1/complianz/_ai-summary.md +17 -23
- package/dist/ai-context/internal/examples/v1/ivvy/_ai-summary.md +20 -19
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/_ai-summary.md +18 -16
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/_ai-summary.md +22 -34
- package/dist/ai-context/internal/examples/v1/nowbookit/_ai-summary.md +26 -26
- package/dist/ai-context/internal/examples/v1/sevenrooms/_ai-summary.md +22 -21
- package/dist/ai-context/internal/examples/v1/tradable-bits/_ai-summary.md +20 -22
- package/dist/ai-context/internal/examples/v1/transcend/_ai-summary.md +43 -23
- package/dist/ai-context/internal/examples/v2/calendly/_ai-summary.md +19 -16
- package/dist/ai-context/internal/examples/v2/clarity/_ai-summary.md +14 -21
- package/dist/ai-context/internal/examples/v2/google-bigquery/_ai-summary.md +15 -14
- package/dist/ai-context/internal/examples/v2/klaviyo-events/_ai-summary.md +24 -15
- package/dist/ai-context/internal/examples/v2/navitas/_ai-summary.md +16 -28
- package/dist/ai-context/internal/examples/v2/trustarc/_ai-summary.md +14 -16
- package/dist/ai-context/internal/examples/v2/typeform/_ai-summary.md +20 -19
- package/dist/ai-context/internal/examples/v2/webhook/_ai-summary.md +16 -14
- package/dist/ai-context/internal/examples/v2/yeastar/_ai-summary.md +19 -15
- package/dist/ai-context/internal/examples/v3/google-ads/_ai-summary.md +19 -17
- package/dist/index.cjs +2465 -281
- package/dist/index.cjs.map +4 -4
- package/dist/init-template/README.azurefunc.md +1 -1
- package/dist/init-template/app/browser/package.json +1 -1
- package/dist/init-template/app/lib/package.json +1 -1
- package/dist/init-template/app/server-azurefunc/package.json +1 -1
- package/dist/init-template/app/ui/package.json +1 -1
- package/package.json +5 -2
- package/dist/ai-context/internal/architecture/v1-structure.md +0 -192
- package/dist/ai-context/internal/architecture/v2-structure.md +0 -261
- package/dist/ai-context/internal/architecture/v3-structure.md +0 -386
- package/dist/ai-context/internal/examples/v1/_index.md +0 -53
- package/dist/ai-context/internal/examples/v2/_index.md +0 -66
- package/dist/ai-context/internal/examples/v3/_index.md +0 -105
|
@@ -1,43 +1,36 @@
|
|
|
1
1
|
# AI Summary for Seeka App: ActiveCampaign
|
|
2
2
|
|
|
3
|
-
## Overview
|
|
4
|
-
The Seeka app "activecampaign" is designed to integrate with ActiveCampaign CRM for syncing contacts and activity data. It leverages Azure Functions to handle webhooks and manage state with Redis, providing a seamless connection between Seeka and ActiveCampaign.
|
|
5
|
-
|
|
6
3
|
## Purpose and Functionality
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- **State Management:** Uses Redis to manage installation states and other necessary data.
|
|
4
|
+
|
|
5
|
+
The Seeka app named **ActiveCampaign** is designed to integrate with the ActiveCampaign CRM, focusing on syncing contacts and activity data. It serves as a bridge between Seeka and ActiveCampaign, facilitating CRM tasks such as contact management and activity tracking.
|
|
10
6
|
|
|
11
7
|
## Key Implementation Patterns
|
|
12
|
-
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
8
|
+
|
|
9
|
+
- **Azure Functions**: The app is built using Azure Functions, leveraging serverless computing to handle HTTP requests and background tasks.
|
|
10
|
+
- **Webhook Handling**: The app processes various webhook events from Seeka, such as app installation, uninstallation, and activity acceptance.
|
|
11
|
+
- **State Management**: Utilizes Redis for storing application state, particularly installation data.
|
|
12
|
+
- **Logging**: Implements logging using Winston and Seq for monitoring and debugging.
|
|
15
13
|
|
|
16
14
|
## External APIs/Services Integrated
|
|
17
|
-
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
15
|
+
|
|
16
|
+
- **ActiveCampaign API**: For managing contacts and activities within the ActiveCampaign CRM.
|
|
17
|
+
- **Azure Storage**: Utilizes Azure Storage for queues, blobs, and tables, with local development supported by Azurite.
|
|
18
|
+
- **Redis via Upstash**: Used for state management, with an option to replace Upstash with another Redis instance.
|
|
21
19
|
|
|
22
20
|
## Important Data Transformations
|
|
23
|
-
|
|
24
|
-
- **
|
|
21
|
+
|
|
22
|
+
- **Contact Management**: Transforms Seeka identity data into ActiveCampaign contact format for creating or updating contacts.
|
|
23
|
+
- **Pipeline Management**: Maps Seeka activities to ActiveCampaign pipeline deals, handling their creation and updates.
|
|
25
24
|
|
|
26
25
|
## Notable Code Patterns
|
|
27
|
-
|
|
28
|
-
- **
|
|
29
|
-
- **
|
|
30
|
-
- **
|
|
31
|
-
|
|
32
|
-
##
|
|
33
|
-
|
|
34
|
-
- **Local Development with Docker
|
|
35
|
-
- **
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- [Azure Functions Documentation](https://learn.microsoft.com/en-us/azure/azure-functions/)
|
|
39
|
-
- [ActiveCampaign API Documentation](https://developers.activecampaign.com/)
|
|
40
|
-
- [Ngrok Documentation](https://ngrok.com/docs)
|
|
41
|
-
- [Redis with Upstash](https://upstash.com/)
|
|
42
|
-
|
|
43
|
-
This summary provides an AI-friendly overview of the Seeka app's architecture, key features, and integration points, facilitating better understanding and interaction with the app's implementation.
|
|
26
|
+
|
|
27
|
+
- **Webhook Signature Validation**: Ensures secure processing of incoming webhooks by validating signatures.
|
|
28
|
+
- **Service Initialization**: Uses a `startServices` function to initialize necessary services before processing webhooks.
|
|
29
|
+
- **Error Handling**: Implements structured error handling with logging to capture and report failures during webhook processing.
|
|
30
|
+
|
|
31
|
+
## Development and Deployment
|
|
32
|
+
|
|
33
|
+
- **Local Development**: Supports local development with Docker-based Azurite for Azure Storage emulation and Ngrok for exposing local servers.
|
|
34
|
+
- **Deployment**: Prepared for deployment on Azure Functions, with environment configuration and state management considerations documented.
|
|
35
|
+
|
|
36
|
+
This summary provides a high-level understanding of the ActiveCampaign Seeka app, highlighting its integration capabilities, architectural patterns, and development practices.
|
|
@@ -1,34 +1,28 @@
|
|
|
1
1
|
# AI Summary for Seeka App: Complianz
|
|
2
2
|
|
|
3
|
-
##
|
|
4
|
-
|
|
5
|
-
The "Complianz" app is designed to integrate consent management for GDPR and privacy compliance into Seeka applications. It facilitates the handling of user consent and privacy settings, ensuring that applications comply with regulatory requirements. The app is built using Azure Functions, providing serverless execution of its components.
|
|
3
|
+
## Overview
|
|
4
|
+
The Complianz app is designed to integrate consent management for GDPR and privacy compliance within the Seeka ecosystem. It leverages Azure Functions to handle webhooks and manage state, ensuring that user consent is properly recorded and managed according to regulatory requirements.
|
|
6
5
|
|
|
7
6
|
## Key Implementation Patterns
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
4. **Polling Mechanism**: Utilizes scheduled functions to perform regular checks or operations, distributing workload over time.
|
|
7
|
+
- **Azure Functions**: The app uses Azure Functions to handle HTTP requests, specifically for webhook processing and health checks.
|
|
8
|
+
- **Webhook Handling**: The app processes various types of webhooks from Seeka, such as app installation, settings updates, and uninstallation, using a centralized handler.
|
|
9
|
+
- **State Management**: Redis is used for managing the state of app installations, with the ability to swap out for other state providers if necessary.
|
|
10
|
+
- **Logging**: Centralized logging is implemented using Winston, with optional integration with Seq for enhanced log management.
|
|
13
11
|
|
|
14
12
|
## External APIs/Services Integrated
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
4. **Seq and Winston**: Integrated for centralized logging and monitoring of application events.
|
|
20
|
-
5. **Redis**: Used for state management, storing installation data and other necessary state information.
|
|
13
|
+
- **Azure Functions**: Used for serverless function execution.
|
|
14
|
+
- **Redis**: Utilized for state management of app installations.
|
|
15
|
+
- **Ngrok**: Allows local development servers to be exposed to the internet for testing.
|
|
16
|
+
- **Seq (optional)**: Integrated with Winston for advanced logging capabilities.
|
|
21
17
|
|
|
22
18
|
## Important Data Transformations
|
|
23
|
-
|
|
24
|
-
- **
|
|
25
|
-
- **State Management**: Transforms and stores installation data using Redis, allowing for efficient retrieval and updates.
|
|
19
|
+
- **Webhook Payloads**: The app parses and validates JSON payloads from incoming webhooks, ensuring the integrity and authenticity of the data using signature validation.
|
|
20
|
+
- **State Management**: Transforms installation data into a format suitable for storage and retrieval from Redis.
|
|
26
21
|
|
|
27
22
|
## Notable Code Patterns
|
|
23
|
+
- **Webhook Signature Validation**: Ensures that incoming webhooks are from a trusted source by validating the signature against a secret key.
|
|
24
|
+
- **Error Handling and Logging**: Comprehensive error handling with detailed logging using Winston, facilitating easier debugging and monitoring.
|
|
25
|
+
- **Modular Service Initialization**: The `startServices` function initializes necessary services, promoting a clean separation of concerns and modularity.
|
|
26
|
+
- **Queue and Polling Examples**: Demonstrates how to handle long-running operations by offloading tasks to Azure storage queues and using scheduled functions to manage execution time limits.
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
2. **State Management with Redis**: Provides a flexible and scalable approach to manage application state, with the option to replace Redis with other providers.
|
|
31
|
-
3. **Error Handling**: Implements robust error handling in webhook processing to ensure graceful degradation and informative logging.
|
|
32
|
-
4. **Environment Configuration**: Supports development and production environments with configurable settings for Azure and Redis connections.
|
|
33
|
-
|
|
34
|
-
This summary provides an overview of the "Complianz" app's architecture and implementation, highlighting its integration with Azure services and its focus on privacy compliance. The app's design patterns and external integrations make it a robust solution for managing GDPR consent within Seeka applications.
|
|
28
|
+
This summary provides a high-level understanding of the Complianz app's architecture and functionality, highlighting its integration with external services and key implementation patterns.
|
|
@@ -1,32 +1,33 @@
|
|
|
1
1
|
# AI Summary for Seeka App - iVvy
|
|
2
2
|
|
|
3
3
|
## Purpose and Functionality
|
|
4
|
-
The iVvy app is designed
|
|
4
|
+
The iVvy app is designed for integration with iVvy's venue management system to track event bookings and inquiries. It serves the hospitality industry by facilitating the management of events and venue-related data.
|
|
5
5
|
|
|
6
6
|
## Key Implementation Patterns
|
|
7
|
-
- **Azure Functions
|
|
8
|
-
- **AWS Lambda
|
|
9
|
-
- **State Management with Redis**: The app uses Redis, hosted by Upstash, for managing state,
|
|
7
|
+
- **Azure Functions**: The app is structured to be deployed as serverless functions on Azure, providing scalability and cost-efficiency.
|
|
8
|
+
- **AWS Lambda Deployment**: The app can also be deployed as an AWS Lambda function, allowing for flexible cloud deployment options.
|
|
9
|
+
- **State Management with Redis**: The app uses Redis, optionally hosted by Upstash, for managing state and installations, ensuring fast data retrieval and storage.
|
|
10
|
+
- **Development and Debugging**: Utilizes VSCode for debugging with support for breakpoints and live URL exposure via Ngrok for local testing.
|
|
10
11
|
|
|
11
12
|
## External APIs/Services Integrated
|
|
12
|
-
- **iVvy API**: The
|
|
13
|
-
- **Ngrok**: Used for exposing local development
|
|
14
|
-
- **AWS
|
|
15
|
-
- **Upstash
|
|
13
|
+
- **iVvy API**: The app integrates with the iVvy API to manage venue and event data.
|
|
14
|
+
- **Ngrok**: Used for exposing local development servers to the internet for testing purposes.
|
|
15
|
+
- **AWS CLI**: Facilitates deployment to AWS Lambda.
|
|
16
|
+
- **Upstash**: Optionally used for hosting Redis databases.
|
|
16
17
|
|
|
17
18
|
## Important Data Transformations
|
|
18
|
-
- **State Management**: The app manages
|
|
19
|
-
- **Environment
|
|
19
|
+
- **State Management**: The app manages installations and other states using Redis, allowing for efficient data handling and retrieval.
|
|
20
|
+
- **Environment Variables**: Configuration and sensitive data are managed through environment variables, ensuring secure and flexible deployments.
|
|
20
21
|
|
|
21
22
|
## Notable Code Patterns
|
|
22
|
-
- **
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
23
|
+
- **Modular Build Scripts**: The app uses `esbuild` for bundling and minifying code, supporting different build configurations for AWS and local environments.
|
|
24
|
+
- **Express Integration**: Utilizes `express` for handling HTTP requests within the serverless environment.
|
|
25
|
+
- **Logging**: Incorporates `winston` and `@datalust/winston-seq` for structured logging, although detailed implementation is marked as a TODO.
|
|
26
|
+
- **TypeScript Usage**: The app is developed using TypeScript, providing type safety and improved code quality.
|
|
26
27
|
|
|
27
|
-
##
|
|
28
|
-
- **
|
|
29
|
-
- **
|
|
30
|
-
- **
|
|
28
|
+
## Deployment and Configuration
|
|
29
|
+
- **Azure and AWS Deployments**: Supports deployment to both Azure Functions and AWS Lambda, offering flexibility in cloud service providers.
|
|
30
|
+
- **Environment Configuration**: Requires setting environment variables for deployment, including API keys and URLs, to ensure proper operation and security.
|
|
31
|
+
- **Ngrok Setup**: Provides instructions for setting up Ngrok for local testing, enhancing the development workflow.
|
|
31
32
|
|
|
32
|
-
This summary provides an overview of the iVvy app's architecture, integrations, and
|
|
33
|
+
This summary provides an overview of the iVvy app's architecture, external integrations, and notable implementation patterns, aiding AI assistants in understanding and referencing the app's design and functionality.
|
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
# AI Summary for Me&u Connect App
|
|
1
|
+
# AI Summary for Me&u Connect Seeka App
|
|
2
2
|
|
|
3
3
|
## Purpose and Functionality
|
|
4
|
-
The
|
|
4
|
+
The **Me&u Connect** app is designed to integrate mobile ordering and payment tracking within the hospitality industry, specifically targeting restaurants. It facilitates seamless CRM integration for mobile orders and payment processes, enhancing customer service and operational efficiency.
|
|
5
5
|
|
|
6
6
|
## Key Implementation Patterns
|
|
7
|
-
- **Azure Functions
|
|
8
|
-
- **
|
|
9
|
-
- **
|
|
7
|
+
- **Azure Functions:** The app is built using Azure Functions, leveraging serverless architecture to handle HTTP requests, storage queues, and timer-based operations.
|
|
8
|
+
- **Webhooks:** The app processes various Seeka webhook events, such as app installation, uninstallation, and identity changes, to manage CRM data and synchronize contacts.
|
|
9
|
+
- **Background Jobs:** Utilizes Azure Storage Queues to manage background tasks for contact synchronization, ensuring efficient processing of queued tasks.
|
|
10
|
+
- **State Management:** Uses Redis (via Upstash) for managing application state, such as installation data and other transient states.
|
|
10
11
|
|
|
11
12
|
## External APIs/Services Integrated
|
|
12
|
-
- **Azure Storage
|
|
13
|
-
- **Redis (Upstash)
|
|
14
|
-
- **Ngrok
|
|
13
|
+
- **Azure Storage:** Utilized for queue management, enabling background job processing and data synchronization.
|
|
14
|
+
- **Redis (Upstash):** Provides state management capabilities, storing installation and session data.
|
|
15
|
+
- **Ngrok:** Used for exposing local development environments to the internet, facilitating testing and debugging.
|
|
16
|
+
- **Seeka SDK:** Integrates with the Seeka platform to handle webhooks and manage CRM-related functionalities.
|
|
15
17
|
|
|
16
18
|
## Important Data Transformations
|
|
17
|
-
- **Webhook Payload Processing
|
|
18
|
-
- **Queue Message Handling
|
|
19
|
+
- **Webhook Payload Processing:** Transforms incoming webhook payloads into actionable tasks, such as creating or updating contact information in the CRM.
|
|
20
|
+
- **Queue Message Handling:** Deserializes queue messages for processing contact synchronization jobs, grouping tasks by installation ID for efficient handling.
|
|
19
21
|
|
|
20
22
|
## Notable Code Patterns
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
23
|
-
- **
|
|
23
|
+
- **Error Handling and Logging:** Implements robust error handling using Winston for logging, ensuring that errors are captured and logged for debugging.
|
|
24
|
+
- **Service Initialization:** Uses a `startServices` function to initialize necessary services and dependencies before processing tasks, ensuring readiness for task execution.
|
|
25
|
+
- **Modular Design:** The codebase is organized into modular components, separating concerns such as logging, job handling, and state management, which enhances maintainability and reusability.
|
|
24
26
|
|
|
25
27
|
## Deployment and Development
|
|
26
|
-
- **Deployment
|
|
27
|
-
- **Local Development
|
|
28
|
+
- **Deployment:** The app is configured for deployment to Azure Functions, with scripts provided for building, cleaning, and deploying the application.
|
|
29
|
+
- **Local Development:** Supports local development with Docker and Azurite for emulating Azure Storage, and provides detailed setup instructions for developers.
|
|
28
30
|
|
|
29
|
-
This summary provides an overview of the
|
|
31
|
+
This summary provides an overview of the app's architecture, key functionalities, and implementation details, aiding AI assistants in understanding and referencing the app's design and operational patterns.
|
|
@@ -1,47 +1,35 @@
|
|
|
1
|
-
# AI Summary for Seeka App: Me&
|
|
1
|
+
# AI Summary for Seeka App: Me&U Manage
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Purpose and Functionality
|
|
4
|
+
The "Me&U Manage" app is designed to integrate Me&U venue management with Seeka, focusing on automating order tracking and marketing consent synchronization. It ensures that customer data and activities are consistently updated in the CRM without manual intervention.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- **Order Syncing:** Regularly imports new and updated orders from Me&u to Seeka for CRM workflows and reporting.
|
|
11
|
-
- **Marketing Consent Syncing:** Updates customer marketing preferences in Seeka based on Me&u opt-ins.
|
|
12
|
-
- **Automated Background Processing:** Operates on a schedule (every 15 minutes) and supports initial data backfill during installation.
|
|
13
|
-
- **Simple Setup:** Requires Me&u API access token and venue slug for configuration.
|
|
6
|
+
### Key Features:
|
|
7
|
+
- **Automatic Order Sync:** Regularly imports new and updated orders from Me&U to Seeka for CRM workflows and reporting.
|
|
8
|
+
- **Marketing Consent Sync:** Updates customer marketing preferences based on Me&U opt-ins.
|
|
9
|
+
- **Simple Installation:** Users provide a Me&U Access Token and Venue Slug for automatic connection verification.
|
|
14
10
|
|
|
15
11
|
## Key Implementation Patterns
|
|
16
|
-
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
- **Webhook Handling:** Processes webhooks for installation, updates, and uninstallation events.
|
|
20
|
-
- **Scheduled Jobs:** Uses a timer-triggered function to poll for new data and enqueue processing jobs.
|
|
12
|
+
- **Azure Functions:** The app leverages Azure Functions for serverless execution, handling HTTP requests, storage queues, and scheduled tasks.
|
|
13
|
+
- **Background Jobs:** Uses Azure Storage Queues to manage background processing for order and marketing opt-in synchronization.
|
|
14
|
+
- **Webhook Handling:** Processes various webhook events from Seeka, including app installation, uninstallation, and settings updates.
|
|
21
15
|
|
|
22
16
|
## External APIs/Services Integrated
|
|
23
|
-
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
26
|
-
- **Ngrok:** Facilitates local development by exposing the app to the internet for testing.
|
|
17
|
+
- **Me&U API:** Utilizes Me&U's Stable GraphQL API for accessing menus, orders, and marketing opt-ins.
|
|
18
|
+
- **Azure Storage Queue:** Manages background job processing and error handling through Azure's queue services.
|
|
19
|
+
- **Ngrok:** Facilitates local development by exposing local servers to the internet for testing.
|
|
27
20
|
|
|
28
21
|
## Important Data Transformations
|
|
29
|
-
|
|
30
|
-
- **
|
|
31
|
-
- **Payload Deserialization:** Queue payloads are deserialized to extract relevant data for processing.
|
|
32
|
-
- **Error Handling and Retries:** Implements retries and error logging to handle transient errors and prevent data loss.
|
|
22
|
+
- **Order and Marketing Data:** Transforms and groups incoming order and marketing data by application installation ID for processing.
|
|
23
|
+
- **Queue Payloads:** Deserializes queue messages for processing and handles errors by sending problematic messages to a poison queue.
|
|
33
24
|
|
|
34
25
|
## Notable Code Patterns
|
|
35
|
-
|
|
36
|
-
- **
|
|
37
|
-
- **
|
|
38
|
-
- **
|
|
39
|
-
- **Environment Configuration:** Supports local development with Docker and Azurite for emulating Azure services.
|
|
26
|
+
- **Webhook Signature Validation:** Ensures security by validating webhook signatures to prevent unauthorized access.
|
|
27
|
+
- **Error Handling with Retries:** Implements retries and error handling for transient errors to ensure reliable data processing.
|
|
28
|
+
- **Logging with Winston:** Utilizes the Winston library for structured logging, aiding in debugging and monitoring.
|
|
29
|
+
- **Scheduled Polling:** Uses Azure Timer functions to periodically poll for new data, triggering background jobs.
|
|
40
30
|
|
|
41
31
|
## Development and Debugging
|
|
32
|
+
- **Local Development Environment:** Supports local development with Docker and Azurite for emulating Azure services.
|
|
33
|
+
- **VSCode Debugging:** Configured for debugging with breakpoints in VSCode, supporting both Linux and Windows environments.
|
|
42
34
|
|
|
43
|
-
|
|
44
|
-
- **VSCode Debugging:** Provides support for debugging with breakpoints in VSCode, primarily tested on Linux.
|
|
45
|
-
- **Environment Setup:** Detailed instructions for setting up the development environment, including Azure Storage Explorer for queue management.
|
|
46
|
-
|
|
47
|
-
This summary provides a comprehensive understanding of the Me&u Manage app's purpose, implementation, and integration patterns, assisting AI in referencing and utilizing this app effectively.
|
|
35
|
+
This summary provides a comprehensive overview of the "Me&U Manage" app's purpose, architecture, and implementation details, aiding AI systems in understanding and referencing its components and patterns.
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
# AI Summary for Seeka App: Now Book It
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
|
-
The Now Book It app is designed to integrate with restaurant reservation systems to track bookings. It leverages Azure Functions to handle webhooks and background jobs, providing a scalable solution for managing restaurant reservations and related activities.
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
- **Webhook Handling**: The app processes various webhook events from the Seeka platform, such as app installation, uninstallation, and activity acceptance.
|
|
8
|
-
- **Background Jobs**: Utilizes Azure Storage Queues to manage background job processing, ensuring tasks are executed asynchronously and efficiently.
|
|
9
|
-
- **Scheduled Tasks**: Implements scheduled polling to trigger jobs at regular intervals, facilitating periodic updates and maintenance tasks.
|
|
5
|
+
The **Now Book It** Seeka app is designed to integrate with restaurant reservation systems to track and manage bookings. It leverages Azure Functions to handle webhooks and background jobs, facilitating seamless communication between the Seeka platform and external reservation systems.
|
|
10
6
|
|
|
11
7
|
## Key Implementation Patterns
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
|
|
9
|
+
1. **Azure Functions**: The app uses Azure Functions to handle HTTP requests, process queue messages, and execute scheduled tasks. This serverless architecture allows for scalable and efficient processing of reservation data.
|
|
10
|
+
|
|
11
|
+
2. **Webhooks**: The app processes incoming webhooks from the Seeka platform, validating signatures and handling various event types such as app installation, uninstallation, and activity acceptance.
|
|
12
|
+
|
|
13
|
+
3. **Background Jobs**: Background processing is managed through Azure Storage Queues, allowing for asynchronous task execution. This pattern is used for tasks that do not require immediate completion, such as syncing reservation data.
|
|
14
|
+
|
|
15
|
+
4. **State Management**: The app uses Redis for state management, storing installation data and other relevant state information. This allows for quick access and updates to the app's state across different instances.
|
|
15
16
|
|
|
16
17
|
## External APIs/Services Integrated
|
|
17
|
-
|
|
18
|
-
- **Azure
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
18
|
+
|
|
19
|
+
- **Azure Functions**: Utilized for serverless execution of code in response to events.
|
|
20
|
+
- **Azure Storage Queues**: Used for managing background job queues.
|
|
21
|
+
- **Redis (via Upstash)**: Employed for state management and caching.
|
|
22
|
+
- **Ngrok**: Used for exposing local development environments to the internet for testing purposes.
|
|
21
23
|
|
|
22
24
|
## Important Data Transformations
|
|
23
|
-
|
|
24
|
-
- **
|
|
25
|
+
|
|
26
|
+
- **Webhook Payloads**: Incoming webhook payloads are parsed and validated to ensure authenticity and integrity. The app processes different types of webhook events, transforming them into actions such as updating installation states or triggering background jobs.
|
|
27
|
+
- **Queue Payloads**: Queue messages are deserialized and processed to execute background tasks, ensuring that data is correctly handled and logged.
|
|
25
28
|
|
|
26
29
|
## Notable Code Patterns
|
|
27
|
-
- **Webhook Signature Validation**: Ensures the authenticity of incoming webhooks by validating signatures, enhancing security.
|
|
28
|
-
- **Logger Utilization**: Comprehensive logging using Winston and Seq for monitoring and debugging, providing insights into app behavior and performance.
|
|
29
|
-
- **Service Initialization**: Centralized service startup pattern (`startServices`) to ensure all necessary services are initialized before processing requests or jobs.
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
1. **Webhook Handling**: The `seekaAppWebhook` function demonstrates a robust pattern for handling webhooks, including signature validation, logging, and conditional processing based on event types.
|
|
32
|
+
|
|
33
|
+
2. **Background Job Execution**: The `queueExample` function illustrates how to process queue messages and execute long-running tasks asynchronously, with error handling and logging.
|
|
34
|
+
|
|
35
|
+
3. **Scheduled Tasks**: The `pollingExample` function shows how to set up and execute scheduled tasks using Azure Functions' timer triggers, allowing for periodic execution of background jobs.
|
|
36
|
+
|
|
37
|
+
4. **Logging with Winston and Seq**: The app uses Winston for logging, with integration to Seq for structured log management, providing a reusable pattern for logging across different parts of the application.
|
|
34
38
|
|
|
35
|
-
|
|
36
|
-
- [Azure Functions Documentation](https://learn.microsoft.com/en-us/azure/azure-functions/)
|
|
37
|
-
- [Azure Storage Queues Documentation](https://learn.microsoft.com/en-us/azure/storage/queues/)
|
|
38
|
-
- [Upstash Redis](https://upstash.com/)
|
|
39
|
-
- [Ngrok](https://ngrok.com/)
|
|
39
|
+
5. **Environment Configuration**: The use of environment variables and local settings for configuration (e.g., `AzureWebJobsStorage`) is a best practice for managing different deployment environments.
|
|
40
40
|
|
|
41
|
-
This summary provides a comprehensive understanding of the Now Book It app's architecture and implementation, highlighting key patterns and integrations that can be
|
|
41
|
+
This summary provides a comprehensive understanding of the Now Book It Seeka app's architecture and implementation, highlighting key patterns and integrations that can be referenced for similar applications.
|
|
@@ -1,41 +1,42 @@
|
|
|
1
|
-
# AI Summary
|
|
1
|
+
# AI Summary for Seeka App - SevenRooms
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
The Seeka app
|
|
5
|
+
The Seeka app "sevenrooms" is designed to integrate with the SevenRooms hospitality CRM for managing restaurant reservations and guest interactions. It leverages Azure Functions to handle webhooks and background processing tasks, facilitating seamless communication between the Seeka platform and SevenRooms.
|
|
6
6
|
|
|
7
7
|
## Key Features
|
|
8
8
|
|
|
9
|
-
- **Webhook Handling**:
|
|
10
|
-
- **Background Processing**: Utilizes Azure Storage Queues to offload long-running tasks, ensuring efficient handling of webhook data
|
|
11
|
-
- **
|
|
9
|
+
- **Webhook Handling**: The app processes incoming webhooks from SevenRooms and Seeka, managing reservation and client data.
|
|
10
|
+
- **Background Job Processing**: Utilizes Azure Storage Queues to offload long-running tasks, ensuring efficient handling of webhook data.
|
|
11
|
+
- **State Management**: Maintains installation and state information using Redis, which can be swapped with other state providers if needed.
|
|
12
|
+
- **Logging**: Implements centralized logging using Winston and Seq for monitoring and debugging.
|
|
12
13
|
|
|
13
14
|
## Implementation Patterns
|
|
14
15
|
|
|
15
|
-
- **Azure Functions**: The app is structured around Azure Functions, with HTTP
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
16
|
+
- **Azure Functions**: The app is structured around Azure Functions, with HTTP triggers for webhooks and queue triggers for background processing.
|
|
17
|
+
- **Modular Code Structure**: Functions are organized into separate files, each handling specific tasks such as webhooks, health checks, and queue processing.
|
|
18
|
+
- **Dependency Management**: Uses `package.json` to manage dependencies, including Azure SDKs, Axios for HTTP requests, and various utility libraries like Lodash and Luxon.
|
|
18
19
|
|
|
19
|
-
## External APIs
|
|
20
|
+
## External APIs/Services Integrated
|
|
20
21
|
|
|
21
|
-
- **SevenRooms API**: Integrates with SevenRooms to receive and process reservation and
|
|
22
|
-
- **Azure
|
|
23
|
-
- **Redis**: Employed for state management, with optional integration with Upstash for
|
|
22
|
+
- **SevenRooms API**: Integrates with SevenRooms to receive and process reservation and client data via webhooks.
|
|
23
|
+
- **Azure Services**: Utilizes Azure Functions for serverless execution and Azure Storage Queues for background job processing.
|
|
24
|
+
- **Redis**: Employed for state management, with optional integration with Upstash for Redis hosting.
|
|
24
25
|
|
|
25
|
-
## Data Transformations
|
|
26
|
+
## Important Data Transformations
|
|
26
27
|
|
|
27
|
-
- **Webhook Payload
|
|
28
|
-
- **Queue
|
|
28
|
+
- **Webhook Payload Parsing**: Incoming webhook payloads are parsed and grouped by venue ID and venue group ID for processing.
|
|
29
|
+
- **Queue Item Serialization/Deserialization**: Data is serialized into queue messages for processing and deserialized upon retrieval.
|
|
29
30
|
|
|
30
31
|
## Notable Code Patterns
|
|
31
32
|
|
|
32
|
-
- **
|
|
33
|
-
- **Service Initialization**: Implements a `startServices` function to initialize necessary services and dependencies
|
|
34
|
-
- **Error Handling and
|
|
33
|
+
- **Child Logger Pattern**: Uses a child logger pattern to create contextual logs with request and installation-specific information.
|
|
34
|
+
- **Service Initialization**: Implements a `startServices` function to initialize necessary services and dependencies at the start of each function execution.
|
|
35
|
+
- **Error Handling and Poison Queue**: Incorporates error handling with logging and redirects failed queue messages to a poison queue for further analysis.
|
|
35
36
|
|
|
36
37
|
## Development and Deployment
|
|
37
38
|
|
|
38
|
-
- **Local Development**: Supports local development with Docker
|
|
39
|
-
- **Continuous Deployment**: Includes scripts for building and
|
|
39
|
+
- **Local Development**: Supports local development with Docker for Azure storage emulation and Ngrok for exposing local servers.
|
|
40
|
+
- **Continuous Deployment**: Includes scripts for building, deploying, and managing the app on Azure, with support for VSCode debugging.
|
|
40
41
|
|
|
41
|
-
This summary provides an overview of the
|
|
42
|
+
This summary provides an overview of the app's architecture, key functionalities, and integration points, offering insights into its implementation and potential areas for reuse or extension in similar projects.
|
|
@@ -2,44 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
The **Tradable Bits** app is
|
|
5
|
+
The **Tradable Bits** app is designed to integrate with the Tradable Bits fan engagement platform, specifically targeting entertainment and sports sectors. It facilitates fan engagement and marketing by leveraging Azure Functions to handle webhooks and manage stateful interactions with the Tradable Bits platform.
|
|
6
6
|
|
|
7
7
|
## Purpose and Functionality
|
|
8
8
|
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
12
|
-
- **Health Monitoring**: Includes a health check endpoint to monitor the app's operational status.
|
|
9
|
+
- **Webhook Handling**: The app processes inbound webhooks from the Seeka platform to manage installations, updates, and uninstalls of the app.
|
|
10
|
+
- **Queue Management**: Utilizes Azure Storage Queues to offload long-running operations, ensuring compliance with Azure Function execution time limits.
|
|
11
|
+
- **Polling**: Supports scheduled function invocations to manage and distribute long-running tasks efficiently.
|
|
13
12
|
|
|
14
13
|
## Key Implementation Patterns
|
|
15
14
|
|
|
16
|
-
- **Azure Functions**: The app is built using Azure Functions,
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
- **Centralized Logging**: Utilizes Winston for logging, with optional integration with Seq for advanced log management.
|
|
15
|
+
- **Azure Functions**: The app is built using Azure Functions, enabling serverless execution of code in response to events.
|
|
16
|
+
- **State Management**: Uses Redis for managing the state of app installations, with the option to replace Redis with another state provider.
|
|
17
|
+
- **Centralized Logging**: Implements Winston for logging, with optional integration of Seq for enhanced log management.
|
|
20
18
|
|
|
21
19
|
## External APIs/Services Integrated
|
|
22
20
|
|
|
23
|
-
- **Azure Storage**:
|
|
24
|
-
- **Redis**:
|
|
25
|
-
- **Ngrok**:
|
|
21
|
+
- **Azure Storage**: Utilizes Azure Storage Queues for message handling and processing.
|
|
22
|
+
- **Redis**: Employed for state management, with optional integration of Upstash for cloud-based Redis service.
|
|
23
|
+
- **Ngrok**: Used for exposing local development environments to the internet for testing purposes.
|
|
26
24
|
|
|
27
25
|
## Important Data Transformations
|
|
28
26
|
|
|
29
|
-
- **Webhook
|
|
30
|
-
- **Installation State**: Transforms
|
|
27
|
+
- **Webhook Payload Processing**: Parses and validates webhook payloads, ensuring secure and accurate data handling.
|
|
28
|
+
- **Installation State Updates**: Transforms incoming webhook data to update or create installation records in Redis.
|
|
31
29
|
|
|
32
30
|
## Notable Code Patterns
|
|
33
31
|
|
|
34
|
-
- **Webhook Signature Validation**:
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
37
|
-
- **Queue Example**: Demonstrates offloading tasks to Azure Storage Queues, a pattern that can be reused for other asynchronous operations.
|
|
32
|
+
- **Webhook Signature Validation**: Implements security checks to validate webhook signatures, ensuring authenticity and integrity of incoming requests.
|
|
33
|
+
- **Error Handling and Logging**: Utilizes structured logging with Winston to capture detailed information about errors and operational events.
|
|
34
|
+
- **Service Initialization**: Modular service initialization pattern (`startServices`) to prepare the app for processing incoming requests.
|
|
38
35
|
|
|
39
36
|
## Development and Deployment
|
|
40
37
|
|
|
41
|
-
- **Local Development**: Supports local development with Docker
|
|
42
|
-
- **
|
|
43
|
-
- **Debugging**: Offers VSCode integration for debugging, with support for breakpoints and live testing.
|
|
38
|
+
- **Local Development**: Supports local development with Docker for Azure storage emulation and VSCode for debugging.
|
|
39
|
+
- **Deployment**: Facilitates deployment to Azure using Azure Functions Core Tools and a streamlined build process with Yarn scripts.
|
|
44
40
|
|
|
45
|
-
|
|
41
|
+
## Conclusion
|
|
42
|
+
|
|
43
|
+
The Tradable Bits app exemplifies a robust integration with a fan engagement platform, leveraging serverless architecture and cloud services to deliver scalable and efficient solutions. Its implementation patterns, particularly in webhook handling, state management, and logging, provide valuable insights for building similar integrations.
|