Skip to content

Latest commit

 

History

History
97 lines (63 loc) · 6.53 KB

team.md

File metadata and controls

97 lines (63 loc) · 6.53 KB

Team Contributions

Penghao Weng - GitHub: Hao-191

Contributions

  1. Created the Java Template for the Project

    • Developed the initial Java template (HW 1) that set the groundwork for further development, including the setup of the Maven build configuration.
  2. Implemented Main Functionalities

    • Gitignore Rules & Parser: Designed and implemented the logic for parsing .gitignore files and applying the rules to file paths within the specified directory structure.
    • File Walker: Developed the file system walker that recursively traverses the directory tree, applying .gitignore rules to determine which files should be ignored based on the specified criteria.
  3. Testing

    • Developed comprehensive JUnit tests for both the .gitignore rules logic and the parser component, ensuring that all functionalities meet the expected standards and behave correctly across various scenarios.
  4. Documentation

    • Authored the README.md file, providing a detailed description of the project, its usage, features, and setup instructions, thereby facilitating ease of use and understanding for new contributors and users.

Sashank RM - GitHub: sash7410

Contributions

  1. Upgraded Testing Framework

    • Upgraded to JUnit 5 and integrated Mockito for enhanced unit and integration testing, improving test coverage and robustness.
  2. Enhanced CLI Argument Handling and JAR Execution

    • CLI Argument Processing: Refined the command-line interface in the Main class to handle input parameters more efficiently, allowing for better automation and usage flexibility.
    • JAR Execution Fixes: Addressed and resolved the "no main manifest attribute" error by adjusting the Maven Shade Plugin configuration, ensuring that the JAR is executable with all necessary dependencies properly embedded.
  3. Expanded Test Coverage

    • Developed comprehensive tests for FileSystemWalker and FileMatcher, significantly improving code coverage across core functionalities.
  4. Improved Project Configuration and Maintenance

    • Gitignore and POM File Updates : Updated .gitignore to exclude system files and resolved Maven POM issues to enhance compatibility and maintainability.
    • Error Handling and Logging Improvements: Enhanced error handling and logging mechanisms across multiple classes, improving the application’s stability and providing clearer runtime information.
  5. Documentation and Quality Assurance

    • Enhanced project documentation and participated in code reviews to ensure high-quality code standards and maintainability.
  6. Integration of GitHub Actions

    • Implemented GitHub Actions for continuous integration to replace CircleCI, enhancing the efficiency and reliability of our development workflow.

Tanmay Rathi - GitHub: tanmayr71

Contributions

  1. GUI Development

    • Initiated the development of the Graphical User Interface (GUI), setting up the fundamental structure and layout that serves as the interaction point for users with the application.
    • Integrated result visualization features into the GUI, allowing users to see outputs directly within the interface, which enhances usability and user experience.
    • Made significant improvements to the results window in the GUI, enhancing the display of information and making it more user-friendly.
  2. Readme and Documentation Updates:

    • **Updated the readme to include detailed project information and reduced a failing test case to ensure project stability.
    • File Walker: Developed the file system walker that recursively traverses the directory tree, applying .gitignore rules to determine which files should be ignored based on the specified criteria.
  3. Test Enhancements

    • Contributed to the development of test cases and ensured thorough testing of the GUI components.
    • Updated the project to use JDK 17, ensuring compatibility with newer Java features and improving performance and security.
    • Addressed and reduced a failing test case to ensure greater stability and reliability of the application.
  4. Review and Approval of Other Contributions

    • Been active in reviewing and approving pull requests from other team members, ensuring that contributions are in line with project standards and objectives. His reviews help maintain high code quality and align new additions with the project's architectural and functional guidelines.

Utsav Sharma - GitHub: utsav-sharma2020

Contributions

  1. GUI Helper Code

    • Developed a comprehensive suite of helper functions for graphical user interfaces, significantly streamlining the integration of frontend components with complex backend logic. Implemented in Python using PyQt5, this enhancement boosts the user experience by providing a responsive and intuitive interface.
  2. File Creation Handling

    • Engineered robust file handling modules to facilitate file creation and manage command-line interactions. Developed in Java, these modules enhance the tool's usability by introducing more intuitive command-line options and error handling, catering to both novice and advanced users.
  3. Contribution to Open Source

    • Actively contributed to several open-source projects, focusing on improving code efficiency and introducing new features. Notable contributions include optimizing performance bottlenecks and enhancing security protocols.
  4. Technology Stack

    • Proficient in Python, Java, PyQt5, and shell scripting. Strong foundation in using Git for version control and collaboration in software development projects.

Sky Achitoff - GitHub: slachitoff

Contributions

  1. Enhanced Input Validation and Error Handling

    • Integrated dual execution modes (command-line and GUI). Extracted command-line processing logic into a separate method processCommandLine, and enhanced path validation via validatePaths.
    • Improved error handling in the GUI by implementing visual and textual feedback for input validation errors.
  2. Command-Line Interaction Tools

    • PathInputHandler: Developed to fetch user-specified paths for the .gitignore file and the starting directory.
    • FileCreationHandler: Created to manage the generation of Human- and Machine-Readable outputs with options to overwrite previous outputs.
  3. GUI Results Display Updates

    • Enhanced the GUI results display by integrating color-coding, which improves readability and overall user experience.