https://chat.openai.com/g/g-YbUmf9xif-nadoo-connect-senior-dev
NADOO Connect is an innovative solution that enables customers to send automated messages to our company using email-based communication. This project serves as a bridge between customer PCs and our company's system, focusing on simplicity, security, and efficiency.
NADOO Connect currently uses email as the primary communication channel. Customer PCs send messages, which are received and processed by our system. Note: Traffic encryption will be implemented in a future update for enhanced security.
sequenceDiagram
participant CustomerPC as Customer PC
participant EmailServer as Email Server
participant ProcessingServer as Processing Server
CustomerPC->>EmailServer: Send message
EmailServer->>ProcessingServer: Forward message
ProcessingServer->>ProcessingServer: Process message and respond if necessary
(Detailed instructions for installation and usage of the software)
Authentication is currently based on the user's email credentials (email address and password). Future updates will include more robust authentication mechanisms.
To use create_execution
in NADOO Connect:
create_execution(customer_program_uuid)
This function is used to signal our backend that a user has used one of our programs, initiating a process for billing at the end of the month.
To use get_xyz_for_xyz_remote
for remote procedure calls:
result = await get_xyz_for_xyz_remote(uuid, data)
This function sends a request to the backend with the specified UUID, which identifies the function to execute, and data for that function. The function processes the request and returns the result.
To use get_emails_for_email_address
in NADOO Connect:
emails = await get_emails_for_email_address(email_account='optional_specific_email_account')
This function asynchronously retrieves emails from the specified email account. If the email_account parameter is not provided, it defaults to the user's email account set in the configuration.
This project is licensed under the MIT License. For more details, see the LICENSE file.
(List of contributors and their roles in the project)
For more information and support, please contact [email protected].
Improved asyncio event loop management in sender_loop... Enhanced concurrency control using portalocker... Added detailed debug print statements...
- Integrated Watchdog Library: Implemented the Watchdog library to efficiently monitor changes in specified directories.
- Real-Time File Monitoring: Enabled real-time monitoring of RPC and execution files for quicker and more efficient processing.
- Enhanced Email Handling: Improved the mechanism for batch processing and sending emails, ensuring more reliable communication.
- Streamlined File Processing: Refined the file processing workflow, resulting in faster and more accurate execution.
- Resolved issues related to concurrent file processing.
- Fixed bugs in the asynchronous email sending mechanism.
There are no known issues as of this update.
sequenceDiagram
participant Watcher as File Watchers (Watchdog)
participant ExecutionDir as Execution Directory
participant RPCDir as RPC Directory
participant Processor as File Processor
participant EmailService as Email Service
participant DB as Database
loop File Monitoring
Watcher->>ExecutionDir: Monitor for new files
Watcher->>RPCDir: Monitor for new files
end
ExecutionDir->>Watcher: New execution file
RPCDir->>Watcher: New RPC file
loop File Processing
Watcher->>Processor: Notify new file
Processor->>EmailService: Batch and send emails
EmailService->>Processor: Email sent status
Processor->>DB: Record execution in database
end
Minor bug fixes and performance improvements in the email retrieval process.
There are no known issues as of this update.
sequenceDiagram
participant UserPC as User PC
participant PublisherPC as Publisher PC
participant WorkerPC as Worker PC
participant EmailServer as Email Server
UserPC->>PublisherPC: Request network ledger
PublisherPC->>UserPC: Send network ledger
UserPC->>EmailServer: Announce presence to network
EmailServer->>WorkerPC: Forward user announcement
WorkerPC->>UserPC: Send availability and public key
UserPC->>WorkerPC: Assign and send encrypted task
WorkerPC->>UserPC: Process task and send encrypted result
sequenceDiagram
participant UserPC as User PC
participant EmailServer as Email Server
participant NADOOWorkspace as NADOO Workspace
participant ProcessingUnit as Processing Unit
UserPC->>EmailServer: Send RPC/execution emails
EmailServer->>NADOOWorkspace: Store emails
NADOOWorkspace->>EmailServer: Retrieve emails for processing
EmailServer->>ProcessingUnit: Forward emails to processing unit
ProcessingUnit->>NADOOWorkspace: Process and track RPCs/Executions