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.