Requirements - TAGCH/Workflow-Automation GitHub Wiki

Functional Requirements

  • User Authentication

    • The system must allow users to securely log in with valid credentials.
    • Users with invalid credentials should see an error message and be denied access.
    • Role-based access control must be implemented to restrict certain functionalities.
  • Workflow Creation

    • The system should allow authenticated users to create workflows with basic actions (e.g., sending an email, manually create) and triggers (e.g., receiving an email).
    • Created workflows must automatically perform actions when the specified trigger event occurs (e.g., time schedule).
  • API Integrations

    • Gmail: The system must allow users to send emails based on sender info.
    • Google Sheets: Users must be able to automate data entry into Google Sheets, including adding, modifying, or deleting rows based on triggers.
  • Execution Monitoring

    • Users must be able to monitor the real-time execution of workflows.
    • The system should notify users of errors when a workflow fails to execute properly.
  • Dashboard Management

    • The system should provide a dashboard for authenticated users to view, edit, or delete workflows.
  • Save Workflows

    • Users should be able to save workflows and re-edit them later.
  • (Optional) Export and Import Functions

    • Users should be able to export created workflows and workflow data to their devices for local use.
    • The system must allow users to import data from Excel files to be used in workflows.

Non-Functional Requirements

  • Security

    • User credentials must be securely managed.
    • The system should log authentication events (login, logout, failed login) for audit purposes.
  • Performance

    • Workflow execution must occur within a reasonable time (e.g., within seconds after a trigger event).
    • The system should handle multiple workflow executions simultaneously within acceptable delays (e.g., within 5 second after each workflow trigger).
  • Usability

    • The interface should be simple and intuitive, allowing users with minimal technical knowledge to create and manage workflows.
    • Error messages should be clear and informative, helping users resolve issues.
  • Reliability

    • The system should provide error handling and retry mechanisms for API failures or connectivity issues.
    • Users should be notified immediately when errors occur, and workflows should stop gracefully.
  • Maintainability

    • The system must be modular, allowing for easy updates and maintenance.
    • All code should be documented, and version-controlled for future enhancements.