Skip to content

Latest commit

 

History

History
104 lines (101 loc) · 15.7 KB

File metadata and controls

104 lines (101 loc) · 15.7 KB

Project 1 Rubric

Notes Self-assement evidence
workload is spread over the whole team (one team member is often Xtimes more productive than the others... but nevertheless, here is a track record that everyone is contributing a lot) 2 evidence in GH
Number of commits 2 https://github.com/bradley-erickson/CmyPlot/graphs/commit-activity
Number of commits: by different people 2 https://github.com/bradley-erickson/CmyPlot/graphs/contributors
Issues reports: there are many 3 https://github.com/bradley-erickson/CmyPlot/issues
issues are being closed 3 https://github.com/bradley-erickson/CmyPlot/issues?q=is%3Aissue+is%3Aclosed
DOI badge: exists 3 https://github.com/bradley-erickson/CmyPlot/blob/main/README.md
Docs: doco generated , format not ugly 2 in GH
Docs: what: point descriptions of each class/function (in isolation) 2
Docs: how: for common use cases X,Y,Z mini-tutorials showing worked examples on how to do X,Y,Z 2 doc page entries
Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing 3 See initial text in https://github.com/bradley-erickson/CmyPlot/blob/main/README.md
Docs: short video, animated, hosted on your repo. That convinces people why they want to work on your code. 3 Video that explains use cases in https://github.com/bradley-erickson/CmyPlot/blob/main/README.md
Use of version control tools 3 Uses GH release tags
Use of style checkers 2 https://github.com/bradley-erickson/CmyPlot/blob/main/.github/workflows/python-app.yml
Use of code formatters. 2 https://github.com/bradley-erickson/CmyPlot/blob/main/.github/workflows/python-app.yml
Use of syntax checkers. 2 https://github.com/bradley-erickson/CmyPlot/blob/main/.github/workflows/python-app.ymlg
Use of code coverage 3 https://github.com/bradley-erickson/CmyPlot/blob/main/.github/workflows/python-app.yml
other automated analysis tools 3 test suite automated https://github.com/bradley-erickson/CmyPlot/blob/main/.github/workflows/python-app.yml
test cases exist 2 Tests exists and primarily focus on base functionality, no UI tests implemented yet (on roadmap) https://github.com/bradley-erickson/CmyPlot/tree/main/tests
test cases are routinely executed 2 on push or pull requests, tests are run, see https://github.com/bradley-erickson/CmyPlot/blob/main/.github/workflows/python-app.yml
the files CONTRIBUTING.md lists coding standards and lots of tips on how to extend the system without screwing things up 2 See https://github.com/bradley-erickson/CmyPlot/blob/main/CONTRIBUTING.md and https://github.com/bradley-erickson/CmyPlot/tree/main/contributing
issues are discussed before they are closed 2 every issue is dicussed by all, then assigned to one appropriate person for closure. The issue is tied to a PR and closed when merged.
Chat channel: exists 2 https://discord.gg/WcMn7pvKqR
test cases:.a large proportion of the issues related to handling failing cases. 2 Each test accounts for failing scenarios
evidence that the whole team is using the same tools: everyone can get to all tools and files 3 https://github.com/bradley-erickson/CmyPlot/blob/main/requirements.txt
evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people) 3 Simple environment file for develop is used by all https://github.com/bradley-erickson/CmyPlot/tree/main/src/plotting/environment
evidence that the whole team is using the same tools (e.g. tutor can ask anyone to share screen, they demonstrate the system running on their computer) 3 Follow README instructions and everyone should be able to run
evidence that the members of the team are working across multiple places in the code base 1 one person primarily focused on the codebase
short release cycles 3 2 alpha releases so far, the first focusing on basic functionality, the second on a working product
Question 1.1: Does your website and documentation provide a clear, high-level overview of your software? 3 Readme and site home page provide brief description
Question 1.2: Does your website and documentation clearly describe the type of user who should use your software? 2 README does, site home page does not
Question 1.3: Do you publish case studies to show how your software has been used by yourself and others? 0
Question 2.1: Is the name of your project/software unique? * 3 CmyPlot is interesting and original
Question 2.2: Is your project/software name free from trademark violations? * 3 There is not another CmyPlot
Question 3.1: Is your software available as a package that can be deployed without building it? 2 Docker ready, but not a package https://github.com/bradley-erickson/CmyPlot/blob/main/Dockerfile
Question 3.2: Is your software available for free? 3 Available on Github for free and eventually free when hosted (roadmap item)
Question 3.3: Is your source code publicly available to download, either as a downloadable bundle or via access to a source code repository? 3 Source code available at https://github.com/bradley-erickson/CmyPlot
Question 3.4: Is your software hosted in an established, third-party repository like GitHub (https://github.com), BitBucket (https://bitbucket.org), LaunchPad (https://launchpad.net) or SourceForge (https://sourceforge.net)? 3 Its on Github
Question 4.1: Is your documentation clearly available on your website or within your software? 3 Available in GH in ReadMe file and docs folder
Question 4.2: Does your documentation include a "quick start" guide, that provides a short overview of how to use your software with some basic examples of use? 3 Available in GH ReadMe file
Question 4.3: If you provide more extensive documentation, does this provide clear, step-by-step instructions on how to deploy and use your software? 3 Available in GH ReadMe file
Question 4.4: Do you provide a comprehensive guide to all your software’s commands, functions and options? 0
Question 4.5: Do you provide troubleshooting information that describes the symptoms and step-by-step solutions for problems and error messages? * 0
Question 4.6: If your software can be used as a library, package or service by other software, do you provide comprehensive API documentation? * 0
Question 4.7: Do you store your documentation under revision control with your source code? * 3 Available in GH
Question 4.8: Do you publish your release history e.g. release data, version numbers, key features of each release etc. on your web site or in your documentation? * 3 Available in GH under releases
Question 5.1: Does your software describe how a user can get help with using your software? * 0
Question 5.2: Does your website and documentation describe what support, if any, you provide to users and developers? * 1 Contribution file for developers who would like to make a contribution is provided in GH
Question 5.3: Does your project have an e-mail address or forum that is solely for supporting users? * 0
Question 5.4: Are e-mails to your support e-mail address received by more than one person? * 0
Question 5.5: Does your project have a ticketing system to manage bug reports and feature requests? * 3 Available in GH closed tickets
Question 5.6: Is your project's ticketing system publicly visible to your users, so they can view bug reports and feature requests? * 3 Available in GH in issues
Question 6.1: Is your software’s architecture and design modular? 3 We used MVC architecture with a standard front end folder structure. Each page will contain up to 3 files, the model (data), the view (layout) and the controller (callbacks)
Question 6.2: Does your software use an accepted coding standard or convention? 3 We used Numpydoc as the docstring format and lint with Flake8 which has some conventions inside, like remove unused imports
Question 7.1: Does your software allow data to be imported and exported using open data formats? * 3 Yes, csv data format is allowed
Question 7.2: Does your software allow communications using open communications protocols? * 3 Yes, CmyPlot will run without any proprietary interface https://github.com/bradley-erickson/CmyPlot/blob/main/README.md#run-instructions
Question 8.1: Is your software cross-platform compatible? * 3 Yes, https://github.com/bradley-erickson/CmyPlot/blob/main/README.md
Question 9.1: Does your software adhere to appropriate accessibility conventions or standards? * 3 yes, https://github.com/bradley-erickson/CmyPlot
Question 9.2: Does your documentation adhere to appropriate accessibility conventions or standards? * 3 Yes, document is accessible to everyone
Question 10.1: Is your source code stored in a repository under revision control? * 2 https://github.com/bradley-erickson/CmyPlot
Question 10.2: Is each source code release a snapshot of the repository? * 2 https://github.com/bradley-erickson/CmyPlot/releases/tag/v0.2-alpha
Question 10.3: Are releases tagged in the repository? * 2 https://github.com/bradley-erickson/CmyPlot/releases
Question 10.4: Is there a branch of the repository that is always stable? (i.e. tests always pass, code always builds successfully) * 2 https://github.com/bradley-erickson/CmyPlot/tree/main
Question 10.5: Do you back-up your repository? * 2 Every repository is a backup of its remote
Question 11.1: Do you provide publicly-available instructions for building your software from the source code? * 0 No
Question 11.2: Can you build, or package, your software using an automated tool? * 2 We have included setup.cfg file for easier package installation and also included Dockerfile to build an image and run the container
Question 11.3: Do you provide publicly-available instructions for deploying your software? * 0 No
Question 11.4: Does your documentation list all third-party dependencies? * 0 No
Question 11.5: Does your documentation list the version number for all third-party dependencies? * 0 No
Question 11.6: Does your software list the web address, and licences for all third-party dependencies and say whether the dependencies are mandatory or optional? * 0 No
Question 11.7: Can you download dependencies using a dependency management tool or package manager? * 0 yes we have used pip for package install
Question 11.8: Do you have tests that can be run after your software has been built or deployed to show whether the build or deployment has been successful? * 1 We don't have tests checking the functionality of all methods
Question 12.1: Do you have an automated test suite for your software? * 2 Pytest in GitHub actions
Question 12.2: Do you have a framework to periodically (e.g. nightly) run your tests on the latest version of the source code? * 1 We dont have all the tests
Question 12.3: Do you use continuous integration, automatically running tests whenever changes are made to your source code? * 2 Yes through GitHub actions
Question 12.4: Are your test results publicly visible? * 2 Yes, test results available at every PR through codecov
Question 12.5: Are all manually-run tests documented? * 0 No
Question 13.1: Does your project have resources (e.g. blog, Twitter, RSS feed, Facebook page, wiki, mailing list) that are regularly updated with information about your software? * 0
Question 13.2: Does your website state how many projects and users are associated with your project? * 2 Github - yes, site - no, https://github.com/bradley-erickson/CmyPlot/graphs/contributors
Question 13.3: Do you provide success stories on your website? * 0 No
Question 13.4: Do you list your important partners and collaborators on your website? * 3 Yes, Citation and GitHub links are provided.
Question 13.5: Do you list your project's publications on your website or link to a resource where these are available? * 3 Link to Citation infomation on site
Question 13.6: Do you list third-party publications that refer to your software on your website or link to a resource where these are available? * 3 None exist
Question 13.7: Can users subscribe to notifications to changes to your source code repository? * 1 Not currently , but have added to the roadmap for this suggestion.
Question 13.8: If your software is developed as an open source project (and, not just a project developing open source software), do you have a governance model? * 0 No
Question 14.1: Do you accept contributions (e.g. bug fixes, enhancements, documentation updates, tutorials) from people who are not part of your project? * 3 Yes, see https://github.com/bradley-erickson/CmyPlot/issues and https://github.com/bradley-erickson/CmyPlot/blob/main/CONTRIBUTING.md
Question 14.2: Do you have a contributions policy? * 3 Yes, see https://github.com/bradley-erickson/CmyPlot/blob/main/CONTRIBUTING.md
Question 14.3: Is your contributions' policy publicly available? * 3 Yes, see https://github.com/bradley-erickson/CmyPlot/blob/main/CONTRIBUTING.md
Question 14.4: Do contributors keep the copyright/IP of their contributions? * 3 See https://github.com/bradley-erickson/CmyPlot/blob/main/LICENSE
Question 15.1: Does your website and documentation clearly state the copyright owners of your software and documentation? * 3 Yes, https://github.com/bradley-erickson/CmyPlot/blob/main/LICENSE
Question 15.2: Does each of your source code files include a copyright statement? * 3 Yes, Example : https://github.com/bradley-erickson/CmyPlot/blob/main/src/plotting/assets/bootstrap.css
Question 15.3: Does your website and documentation clearly state the licence of your software? * 3 Yes, https://github.com/bradley-erickson/CmyPlot/blob/main/LICENSE
Question 15.4: Is your software released under an open source licence? * 3 https://github.com/bradley-erickson/CmyPlot/blob/main/LICENSE
Question 15.5: Is your software released under an OSI-approved open-source licence? * 3 Yes, https://github.com/bradley-erickson/CmyPlot/blob/main/LICENSE
Question 15.6: Does each of your source code files include a licence header? * 0 No
Question 15.7: Do you have a recommended citation for your software? * 3 Yes , https://github.com/bradley-erickson/CmyPlot/blob/rubric/CITATION.md
Question 16.1: Does your website or documentation include a project roadmap (a list of project and development milestones for the next 3, 6 and 12 months)? * 3 https://github.com/bradley-erickson/CmyPlot/tree/rubric#roadmap , https://github.com/bradley-erickson/CmyPlot/issues
Question 16.2: Does your website or documentation describe how your project is funded, and the period over which funding is guaranteed? * 0 No current funding
Question 16.3: Do you make timely announcements of the deprecation of components, APIs, etc.? * 0 Not applicable