Categories
Uncategorized

Week 9

Welcome to this week’s blog. This week was a busy one due to my college workload, but I mostly focused on enhancing the webpage. I worked on the configuration page, the manual merge dashboard, filtering, search-related improvements, and more.

  • Configuration Page:
    I added a new configuration page that allows users to customize their preferences, including:

    • Number of filesets per page

    • Number of logs per page

    • Column width percentages for the fileset search page

    • Column width percentages for the log page

    All these preferences are stored in cookies for persistence.

    User Configuration Page
  • Manual Merge Dashboard:
    I performed some refactoring of the codebase for manual merging. Additionally, I added options to:

    • Show either all files or only the common ones

    • Display either all fields of the files, or just the full-size MD5 and size (or size-rd in the case of Mac files)

  • Search Functionality:
    I improved the search system with the following features:

    • Exact match: Values wrapped in double quotes are matched exactly

    • OR search: Multiple terms separated by spaces are treated as an OR

    • AND search: Terms separated by + are treated as an AND

  • Sorting Enhancements:
    The sorting feature now includes three states for each column: ascending, descending, and default (unsorted).

Minor Fixes & Improvements
  • Added favicon to display on the webpage tab
  • Implemented checksum-based filtering in the fileset search page
  • Included metadata information in seeding logs (unless --skiplog is passed)
Goals for Next Week
  • Add GitHub-based authentication
  • Implement a three-tier user system: admin, moderator, and read-only
  • Add validation checks on user data to prevent brute force attacks
  • Refactor the entire project into a Python module for better structure and cleaner imports

Leave a Reply

Your email address will not be published. Required fields are marked *