Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running List of Tasks to Complete #2

Open
gkapfham opened this issue Oct 31, 2023 · 2 comments
Open

Running List of Tasks to Complete #2

gkapfham opened this issue Oct 31, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@gkapfham
Copy link
Contributor

gkapfham commented Oct 31, 2023

There are numerous issues that must be resolved before this tool is ready for
production use. This issue includes a running list of many of these issues. It
is intended to be used for brainstorming purposes. It should not be the final
location for the discussion of each of the issues in this list. Once the
priorities for the implementation of cellveyor are established the team should
create separate issues for all of the tasks that they plan to complete.

Setup

  • Add team members to the GatorEducator organization
  • Assign team leader(s) who will be 1/5 manager and 4/5 programmer
  • Assign student technical leader who will be the chief software architect
  • Ensure that all team members can contribute to the cellveyor repository

GitHub

  • Pick license
  • Pick code of Conduct
  • Implement basic GitHub Actions that installs dependencies and runs program
  • Note that running the tool in GitHub Actions will require access to a GitHub token
  • Ensure that GitHub Actions runs linting and testing tasks
  • Ensure that GitHub Actions can perform a tool release
  • Confirm that the tool works correctly on all of the major operating systems

Implementation

  • Add feature that supports access to a remote Google Sheet
  • Improve diagnostic information when the tool runs and then takes step(s)
  • Add logging information that can support debugging and error logging
  • Automated generation of the regular expressions to match specific columns
  • Consider borrowing useful implementation features from chasten tool
  • Create a constants.py module for storing all program constants

Testing

  • Write tests for all existing features
  • Ensure high coverage of all existing features
  • Write tests for all new features
  • Ensure high coverage of all new features
  • Confirm that the test suite passes on all of the major operating systems
  • Consider borrow useful testing strategies from the chasten tool

Documentation

  • README file
  • Command examples
  • References to similar tools
  • References to frameworks and libraries used in tool
  • References a publicly available Google Sheet for testing purposes
  • Give examples of regular expressions that match Google Sheet columns
  • Ultimately, the README should match the format inside of the chasten tool
  • Document in the README how to securely access GitHub through token creation
  • Document in the README how to securely access Google Sheets through token creation

Spreadsheet

  • Example Google Sheet (both with and without multiple "tabs")
  • Regular expressions that match column names
  • Ensure that there are no privacy violations for names and/or grades
  • Google sheet should have valid GitHub user names inside of it
  • Confirm that the tool works with real-world Google Sheets as well

GitHub Organization

  • There are technically two organizations: GatorEducator for the tool itself
    and another organization that contains all of the testing repositories
  • Ensure that the organization and all of its testing repositories are public
  • Create a GitHub Classroom organization for the newly created testing organization
  • Create example repositories that follow the GitHub Classroom naming standard
  • Ensure that all repositories are publicly available so as to allow easy testing
  • Confirm that the tool works with real-world repositories as well
  • Names of GitHub repositories must match names inside of the Google Sheet

Defects

  • The implementation of the feedback mechanism assumes that there will be some
    feedback provided. However, there may be situations in which the program should
    only report data in the spreadsheet and not report any information from the
    additional feedback column. This means that, as currently implemented, the
    program will crash when there is no provided feedback.
@gkapfham gkapfham self-assigned this Oct 31, 2023
@gkapfham gkapfham added the enhancement New feature or request label Oct 31, 2023
@gkapfham
Copy link
Contributor Author

Can someone please confirm whether or not we have separate issues for each of these issues?

@hayleepierce
Copy link
Collaborator

@gkapfham, I believe that we have separated most of these issues. Could you expand on what you mean by "improve diagnostic information when the tool runs and then takes step(s)?"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants