1. Start Program -Authentication screen -User authenticates -(system) gives authorization to different capabilities of the program based on role) 2. Display Welcome Message and Options Menu - Option 1: Create New Project - Define project - Define\add-existing roles in addition to project initiator role if admin (not shown if not) - Assign project manager(s) user(s) if PMO admin - (system) if not admin create a signal for PMO Admins task card for assignment of a project manager - Option 2: Load Existing Project if authorized - Request access to an existing project - (system) create a signal for project manager(s) request access task card - Option 3: Exit Program 3. If Option 1 selected: 3.1. Prompt user to choose project methodology template - If "PMO Admin" show button for project methodology web application - Display list of available templates - User selects a template 3.2. Create new project based on selected template - Initialize project with cards representing tasks from the template - Display project dashboard - Allow user to perform actions on project (e.g., add, edit, delete tasks) 4. If Option 2 selected: 4.1. Prompt user to load existing project file - User provides file path - Load project from file 4.2. Display project dashboard - Allow user to perform actions on project (e.g., add, edit, delete tasks) 5. Project Dashboard Options: - Option A: View Project Overview (summary of tasks, progress, etc.) - Option B: Manage Cards in infinite self-organizing canvas as frontend (react) - Option B1: Add New Card (api to backend) - Option B2: Edit Card (modify details, update status, etc. - api to backend) - Option B3: Delete Card (api to backend) - Option B4: Split Card into Subtasks (api to backend) - Option B5: Change Card relations (api to backend) - Option C: Import Cards from Another Project - User selects project file to import cards from ( then turn it to a list of cards to be created through api to backend) - Merge imported cards into current project ( execute insert cards through api to backend) - Option D: Export Cards to Another Project - User selects project file to export cards to - Export selected cards to specified project file - Option E: Save Project - Save current project state to file - Option F: Exit to Main Menu 6. Repeat steps 3-5 until user chooses to exit the program 7. Display Farewell Message 8. End Program Existing Roles "Application Admin" - Install and configuration of the application "Application Designer" - Application customization "Database Admin" - Links and manages backend databases\schemas "PMO Admin" - Policy and methodology management "Program Manager" - Business value reporting and projects monitoring "Project Manager" - Budget, scope, communication, control, reporting management "Project Coordinator" - Resource and task management "Project User" - Task management "Project initiator" - Most basic role that creates a project, defines business value statement, provides high level scope, provides high level budget, provides expected start and end dates for the project.