JAP JAP

Task Launcher

Animation pipeline task manager

$ git clone github.com/JoseAPortillo/Task_Manager

$ cat README.md

Task Launcher is a Windows desktop application for managing animation-pipeline projects, users, departments, and task assignments. It also launches department scripts for supported DCC applications, so each tool lives one click away from the production data.

PySide6 interface over a local SQLite database, with password hashing (bcrypt), project and user management, and a nomenclature engine that keeps files and folders consistent across the pipeline.

$ ls media/

App identity — Task Launcher logo
Launcher branding — application name
launcher_ui.png [screenshot pending]
Main window — PySide6 launcher UI

$ ls src/

Python 3.10 PySide6 Qt6 SQLite bcrypt pytest SOLID Clean architecture Maya scripts MotionBuilder scripts 3ds Max scripts GitHub Actions

$ cat features.md

  • Projects: create and configure projects, versions, directories, and departments
  • Users: maintain users and department roles
  • Assignments: manage task assignments and their local SQLite data
  • Pipeline tools: launch scripts for Maya, MotionBuilder, 3ds Max, and other configured DCC tools
  • Password manager with bcrypt hashing
  • File and nomenclature tools to keep production paths consistent

$ cat architecture.md

  • Code/launcher_UI.py — main PySide6 application entry point
  • Code/controllers/ — UI-independent orchestration for users, projects, and assignments
  • Code/services/ — business logic for project setup, passwords, nomenclature, and files
  • Code/repositories/ — persistence interfaces over the legacy local data managers
  • Code/libs/ — UI components, configuration, styling, and legacy persistence helpers
  • scripts/ — scripts launched in supported DCC applications

$ cat methodology.md

The codebase went through a SOLID / clean-architecture refactor: controllers, services, and repositories replace UI-coupled logic, and the test suite runs headless (no GUI instantiation) on GitHub Actions.

  • Test suite: 156 passed, 2 deselected (pre-existing crashes), 2 xfailed
  • Runtime dependencies kept minimal: PySide6 and bcrypt
  • Windows-specific launcher via AssignmentManager.bat and a bundled Python 3.10 runtime

$ git status

status: Working desktop application, refactored to clean architecture with a full headless pytest suite running in CI.