Frontend and prodtrack implementation - #44
Merged
jspada200 merged 53 commits intoJan 13, 2026
Conversation
jspada200
commented
Jan 13, 2026
Collaborator
- Added to the shotgrid implementation
- First pass on UI components
- Introduced `use-radix.mdc` and `workplace.mdc` to enforce frontend framework usage and directory structure. - Added `.env.example` for environment variable setup in prompt testing. - Created `prompt_evaluation.ipynb` for evaluating LLM responses and integrating with the transcription dataset --------- Signed-off-by: James Spadafora <spadjv@gmail.com>
- Created a new `requirements.txt` file for the prompt testing environment. - Included dependencies: `openai`, `python-dotenv`, `ipykernel`, and `litellm` with specified minimum versions. --------- Signed-off-by: James Spadafora <spadjv@gmail.com>
--------- Signed-off-by: James Spadafora <spadjv@gmail.com>
--------- Signed-off-by: James Spadafora <spadjv@gmail.com>
--------- Signed-off-by: James Spadafora <spadjv@gmail.com>
--------- Signed-off-by: James Spadafora <spadjv@gmail.com>
--------- Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a GitHub Actions workflow for automatic code formatting and type checking in the frontend. It includes the setup for Prettier and TypeScript checks, ensuring code quality on pushes and pull requests. Additionally, configuration files for Prettier and updates to package.json files are included to support these features. The README is also updated to provide instructions for local formatting and type checking. --------- Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit modifies the backend and frontend code formatting workflows to remove references to the 'master' branch, ensuring compatibility with the current branching strategy that only includes 'main' and 'develop'. --------- Signed-off-by: James Spadafora <spadjv@gmail.com>
…nd black configuration This commit modifies the GitHub Actions workflow to check code formatting and import sorting in the backend by adjusting the paths to 'src/' and 'tests/'. Additionally, it introduces a new 'pyproject.toml' file to configure isort and black, ensuring consistent code style across the project. --------- Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit updates the backend formatting workflow by refining the paths for code formatting and import sorting checks. It ensures that the workflow aligns with the latest project structure and maintains consistent code quality standards. --------- Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces several updates to the backend configuration, including the addition of a local Docker Compose file for environment-specific settings and the integration of ShotGrid as a production tracking provider. Key changes include: - Updated `.gitignore` to include local environment files. - Modified `docker-compose.yml` to support local configurations and added necessary environment variables for ShotGrid. - Refactored the `makefile` to utilize the new local Docker Compose file. - Adjusted `pyproject.toml` and `pytest.ini` for improved project structure and coverage reporting. - Added new models and provider classes for ShotGrid, including entity handling and linked entity support. - Implemented comprehensive tests for the ShotGrid provider to ensure functionality and error handling. These changes aim to streamline the development process and enhance the integration with ShotGrid for production tracking. --------- Signed-off-by: James Spadafora <spadjv@gmail.com>
…ructure This commit introduces several new rules for the development process, including: - `always-update-tests`: Ensures tests are always run when code changes are made. - `apply-comments-only-when-needed`: Restricts comments to necessary explanations only. - `run-formatting`: Enforces code formatting after changes in the backend. Additionally, the backend structure is improved with updates to the Docker configuration, including changes to the `docker-compose.yml` and `Dockerfile` to better manage source paths and environment variables. The FastAPI application is enhanced with detailed API metadata and organized endpoint tags for better documentation. These changes aim to streamline development practices and improve code quality. --------- Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces significant updates to the backend, including: - Added `PRODTRACK_PROVIDER` environment variable to `docker-compose.yml` for ShotGrid integration. - Enhanced the `EntityBase` model with new fields for `project` and `note_links`. - Implemented the `add_entity` method in the `ShotgridProvider` to facilitate entity creation in ShotGrid. - Refactored entity conversion methods to streamline data handling between ShotGrid and DNA models. - Introduced comprehensive tests for entity creation in ShotGrid, covering both unit and integration scenarios. These changes aim to improve the integration with ShotGrid and enhance the overall functionality of the entity management system. --------- Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a new endpoint for creating notes in the FastAPI application, along with enhancements to the entity models. Key changes include: - Added `CreateNoteRequest` model to handle note creation requests. - Implemented the `create_note` function to process incoming requests and create note entities. - Updated `EntityBase` and related models to include a `project` field for better project association. - Enhanced the ShotGrid provider to support project information in entity mappings. - Added comprehensive tests for the new note creation endpoint, ensuring proper functionality and error handling. These changes aim to improve the note management capabilities within the production tracking system. --------- signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces several improvements to the entity model and ShotGrid provider: - Added a `type` computed property to the `EntityBase` model, returning the entity's class name. - Updated the `ShotgridProvider` to preserve linked entities during the creation process, ensuring that linked fields are restored in the created entity. - Enhanced tests for note creation to verify the integrity of linked entities. These changes aim to improve the handling of entity types and linked relationships within the production tracking system. signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a comprehensive suite of tests for the ProdtrackProviderBase and ShotgridProvider classes, enhancing the test coverage for entity handling. Key changes include: - Added tests for the ProdtrackProviderBase class, verifying the correct entity model retrieval and ensuring that NotImplementedError is raised for unimplemented methods. - Implemented edge case tests for the ShotgridProvider, including error handling for unknown entity types and validation of entity conversion methods. - Enhanced the test suite for the ShotgridProvider to ensure proper functionality when dealing with linked entities and various input scenarios. These changes aim to improve the reliability and robustness of the production tracking system's provider classes. Signed-off-by: James Spadafora <spadjv@gmail.com>
Signed-off-by: James Spadafora <spadjv@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: James Spadafora <spadjv@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit deletes the test files `test_entity_creation.py` and `test_shotgrid_providor.py`, which are no longer needed. The removal of these files helps streamline the test suite and eliminate redundancy, as their functionality has been covered in other tests. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a new GitHub Actions workflow file `backend-tests.yml` to automate testing for the backend. The workflow triggers on pushes and pull requests to the `main` and `develop` branches, specifically for changes in the `backend` directory. It sets up a Python environment, installs dependencies, and runs tests with coverage, ensuring code quality and reliability. Additionally, a minor whitespace adjustment was made in `backend/src/main.py` for improved code formatting. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit updates the GitHub Actions workflow for backend tests by adding environment variables necessary for connecting to the ShotGrid API. The new variables include `SHOTGRID_URL`, `SHOTGRID_SCRIPT_NAME`, and `SHOTGRID_API_KEY`, which are essential for the test environment setup. These changes aim to ensure that the backend tests can properly interact with the ShotGrid service during execution. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit updates the test suite for the note creation endpoint by introducing a mock provider to simulate the ShotGrid API. The test for handling missing project fields now utilizes dependency overrides for better isolation and reliability. Additionally, the integration test for creating notes linked to versions has been refactored to use the mocked provider, ensuring that the tests do not rely on real ShotGrid connections. These changes enhance the robustness of the test suite and improve the clarity of the test cases. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit enhances the backend README by adding a section on configuring ShotGrid credentials. It provides step-by-step instructions for creating a local docker-compose override file, updating environment variables with ShotGrid credentials, and notes that the configuration file is gitignored to protect sensitive information. These additions aim to improve the setup process for developers integrating with ShotGrid. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a new test suite for creating entities in ShotGrid, including both unit tests with mocked responses and integration tests against a real ShotGrid instance. The tests cover various scenarios for creating notes, ensuring that the correct data is sent to the ShotGrid API and validating the handling of linked entities. Additionally, a new API handler is implemented to manage Axios requests, including user authentication and error handling. These additions enhance the test coverage and reliability of the ShotGrid integration, providing a solid foundation for future development. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit deletes the `test_entity_creation.py` file, which is no longer needed as its functionality has been covered in other tests. This cleanup helps streamline the test suite and eliminate redundancy. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a new rule for using Radix themes and primitives in the frontend framework, emphasizing the importance of adhering to best practices. Additionally, it adds a new UserAvatar component for displaying user avatars with customizable properties. The Sidebar component is updated to include the UserAvatar, enhancing the user interface. CSS adjustments are made to improve the layout and styling of the sidebar and user avatar. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit updates the Sidebar component to include a new SplitButton for managing playlist actions and adds a search feature that expands when activated. The CSS is modified to accommodate the new sidebar toolbar layout and styling, including adjustments to the sidebar width. Additionally, the UserAvatar component is integrated into the sidebar header for improved user interface consistency. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit modifies the testing rules to include a new command for CI testing in the frontend, ensuring tests can be run in a continuous integration environment. Additionally, it introduces a new rule for using styled-components in the frontend framework, promoting best practices for styling components. The package-lock.json is updated to include new dependencies related to styled-components, enhancing the styling capabilities of the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit updates the main HTML structure and CSS styles to ensure a consistent full-height layout across the application. The `index.html` file now includes styles for the body and root div to occupy the full viewport height. Additionally, the `GlobalStyles` component is enhanced to apply these styles globally, and the `Layout` component is adjusted to maintain a flexible layout. These changes aim to improve the overall user experience by providing a more cohesive and responsive design. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit simplifies the GlobalStyles component by removing unnecessary margin and padding properties from the body and root elements. The adjustments aim to enhance the layout consistency across the application, ensuring a more streamlined and responsive design. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a new ExpandableSearch component, which features an animated input field for searching with a placeholder. The Sidebar component is updated to replace the previous search functionality with the new ExpandableSearch, enhancing the user interface and improving search accessibility. Additionally, the index file is modified to export the new component for use throughout the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
…ality This commit updates the ExpandableSearch component by renaming the InputField to PillContainer and enhancing its styling for better visual appeal. The input field now features a more flexible layout, improved transitions, and a focus effect. The overall structure is streamlined, consolidating the input and icon buttons into the new PillContainer for a cleaner design. These changes aim to enhance user experience and maintain consistency with the application's styling. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit updates the Sidebar component to include a new footer with transcription controls and a Settings button, improving user interaction. Additionally, the SplitButton component is modified to support optional left and right slots for enhanced flexibility in button content. These changes aim to streamline the user experience and provide better functionality within the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit modifies the Sidebar component to replace the footer menu with a new SplitButton that includes icons for transcription actions. The SplitButton component is updated to support optional right-click functionality and improved rendering of right slots, enhancing user interaction and flexibility. These changes aim to streamline the user experience within the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit updates the Sidebar component to include new UI elements such as a CollapsedToolbar and CollapsedFooter, enhancing user interaction. It also introduces a placeholder version list for displaying version cards when the sidebar is expanded. Additionally, the index file is modified to export the new SquareButton and VersionCard components, improving the overall component structure and accessibility within the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces several new components, including AssistantNote, AssistantPanel, ContentArea, and NoteEditor, to improve the application's user interface and functionality. The App component is updated to incorporate the new ContentArea, enhancing the layout. Additionally, the GlobalStyles are modified to ensure a consistent full-height layout across the application. These changes aim to streamline user interaction and provide a more cohesive experience. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit updates various components, including AssistantNote, AssistantPanel, ContentArea, and NoteEditor, to enhance their styling and layout. Key changes include increased padding, font sizes, and gap adjustments to improve visual hierarchy and readability. Additionally, new components, ExpandableSection and NoteOptionsInline, are introduced to streamline the NoteEditor functionality. These enhancements aim to provide a more cohesive and user-friendly interface throughout the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
…ed note-taking functionality This commit introduces a new MarkdownEditor component, allowing users to write and format notes using Markdown syntax. The NoteEditor is updated to incorporate the MarkdownEditor, replacing the previous text area for notes. Additionally, the package.json and package-lock.json files are updated to include the necessary dependency for the Markdown editor. These changes aim to improve the user experience by providing a more versatile and user-friendly note-taking interface. Signed-off-by: James Spadafora <spadjv@gmail.com>
… and functionality This commit updates the AssistantNote component to replace the RegenerateButton with a Radix UI Button, enhancing consistency in design. The ExpandButton now uses a MessageSquare icon for better visual representation. Additionally, the NoteEditor component is refactored to include an EditorHeader for improved layout, organizing the EditorTitle and NoteOptionsInline more effectively. These changes aim to enhance user experience and maintain a cohesive design throughout the application. signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces new functionality to the backend by adding endpoints for managing projects and playlists. Key changes include the addition of the `get_projects_for_user`, `get_playlists_for_project`, and `get_versions_for_playlist` endpoints, which allow users to retrieve projects and playlists based on user email and project ID, respectively. The `find_entities` endpoint is also implemented to support searching for various entity types with filters. Additionally, the `Project` model is introduced, and the production tracking provider is updated to handle these new functionalities. These enhancements aim to improve the overall project management capabilities of the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
… handling This commit refactors the ShotgridProvider to streamline the population of linked fields, introducing a new method for converting shallow links without recursive fetching. Additionally, the ContentArea component is updated to accept a version prop, enhancing its functionality by displaying relevant version details or an empty state when no version is selected. These changes aim to improve data handling and user experience within the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a new User entity model to the backend, representing users in the production tracking system. It adds a new endpoint to retrieve user information by email, enhancing user management capabilities. The frontend is updated to integrate user data, including displaying user names in various components and implementing a hook for fetching user details. These changes aim to improve user interaction and data handling within the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces new styled components for the ProjectSelector, including StyledTextField, StyledSelectTrigger, and StyledSelectContent, improving the visual consistency and user experience. Additionally, the Sidebar component is updated to include a refetch function in the SplitButton, allowing users to reload playlists seamlessly. These changes aim to enhance the overall functionality and aesthetics of the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a new file containing styled components for form inputs, including StyledTextField, StyledSelectTrigger, and StyledSelectContent. These components enhance the visual consistency and user experience of form elements within the application. The styling incorporates theme-based properties for better integration with the overall design. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces a new logout feature by adding the `clearUserSession` function, which resets user-related states in the App component. The Layout, Sidebar, and UserAvatar components are updated to support the logout functionality, allowing users to log out seamlessly. Additionally, the UserAvatar component is enhanced with an AlertDialog for confirmation before logging out, improving user experience and interaction consistency across the application. Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit introduces new test files for entity models, legacy models, and provider classes, enhancing test coverage across the backend. The tests include assertions for the __repr__ methods of various entity classes, the add_note method in the Version class, and the instantiation of legacy models. Additionally, base provider classes are tested for initialization and method functionality, ensuring robustness in the codebase. Signed-off-by: James Spadafora <spadjv@gmail.com>
jspada200
added a commit
that referenced
this pull request
Feb 25, 2026
- Added to the shotgrid implementation - First pass on UI components --------- Signed-off-by: James Spadafora <spadjv@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.