Media File Markup Tool

Team E - COMP 523 (Spring 26)

Project Introduction

Ever been to a concert, recorded a podcast, or come accross some other media file that naturally contains multiple segments? Maybe you have a recording of a concert that has multiple songs and commentary, or a podcast episode that has different sections for news, interviews, and ads. Wouldn't it be great if there was an easy way to mark up these media files with metadata about the different segments, so that you could easily navigate to the parts you care about? That's where our project comes in! We are building a media file markup tool that allows users to annotate their media files with rich metadata about the different segments. Whether it's a concert recording, a podcast episode, or any other type of media file, our tool makes it easy to add structured information about the content, so you can quickly find and enjoy the parts that matter most to you.

Weekly Reports

Deliverables

Assignments

Team

Team Members

Jake Terrill
Role
terrillj@cs.unc.edu
Jacob Brown
Role
jacbro@cs.unc.edu
Ryder Klein
Role
ryd@unc.edu
Ethan Ahdout
Role
ahd@unc.edu

Client

Dr. John McHugh
Title
mchugh@cs.unc.edu

Schedule of Regular Meetings

👨‍🏫

Professor/Manager Meetings

Day: Wednesdays

Time: 10:30 AM - 11:00 PM

Location: Zoom

🤝

Client Meetings

Day: Mondays, as needed

Time: 4:00 PM - 4:30 PM

Location: Zoom

👥

Team Meetings

Day: Wednesdays

Time: 5:00 PM - 6:00 PM

Location: Zoom

Team Rules

Team Behavior

Communication Standards

  • Response Time: All team members are expected to respond to emails and messages within 24 hours during weekdays.
  • Late Notifications: If running late to any meeting, notify the team via Slack at least 30 minutes in advance when possible.
  • Primary Communication: Slack for quick updates, email for formal communications, and in-person/video for complex discussions.
  • No Response Protocol: If no response is received after 48 hours, the team will proceed with decisions and the member will be contacted via alternate channels.

Slippage Recovery Plan

  • Early Warning System: Weekly status updates to identify potential delays before they become critical.
  • Backup Assignments: Each critical task has a designated backup team member familiar with the requirements.
  • Reallocation: If a team member falls behind, tasks will be redistributed during the next team meeting.
  • Escalation: If slippage affects critical path, immediately notify professor/manager and client.

Meeting Guidelines

  • Attendance: All scheduled meetings are mandatory unless prior notice is given.
  • Preparation: Review agenda and complete assigned pre-work before meetings.
  • Documentation: Rotating responsibility for meeting notes and action items.
  • Decision Making: Consensus-based decisions when possible, with PM making final call if needed.

Coding Practices

Style Standards

  • Language Style Guides: Follow industry-standard style guides for each language (e.g., PEP 8 for Python, Airbnb for JavaScript).
  • Formatting: Use automated formatters (Prettier, Black, etc.) with project-specific configuration.
  • Naming Conventions: Descriptive variable and function names using camelCase for JavaScript, snake_case for Python.
  • Comments: All functions require docstring/JSDoc comments explaining purpose, parameters, and return values.

Version Control

  • Branching Strategy: Feature branches off main, with descriptive branch names (feature/user-authentication).
  • Commit Messages: Clear, descriptive commit messages following conventional commits format.
  • Pull Requests: All code changes require PR with at least one reviewer approval before merging.
  • Code Reviews: Reviews should be completed within 48 hours; focus on functionality, readability, and standards compliance.

Quality Assurance

  • Testing: All new features require unit tests; aim for 80% code coverage minimum.
  • Linting: Code must pass all linter checks before PR submission.
  • Documentation: Update relevant documentation (README, API docs) with each feature addition.
  • Deployment: Only tested and reviewed code is deployed to production.