Skip to content

Commit

Permalink
feat: project documentation drafts from Cert IV group
Browse files Browse the repository at this point in the history
  • Loading branch information
Robbo-lab committed May 20, 2024
1 parent ed4f062 commit 36ee810
Show file tree
Hide file tree
Showing 5 changed files with 363 additions and 1 deletion.
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Code of Conduct

## v1 - Drafted by Izaac Salh & Sukhwan Ko

## Our Pledge

---

As Members of this developer community, as both leaders and contributors, we pledge to
respect all people who contribute through reporting issues, posting feature requests,updating documentation,
submitting pull requests, and other activities.

We aim to make participation a harassment free experience. Discrimination towards, but not limited to: age, body size,
visible or invisible disability, ethnicity, gender identity and expression, level of
experience, education, socioeconomic status, nationality, personal appearance, race, religion, or sexual identity and
orientation will not be tolerated.

We will act and interact only in ways that promote welcoming, diverse, inclusive and healthy community interactions.

## Our Standards

---

Examples of unacceptable behaviour by participants include but are not limited to:

- Derogatory comments towards others contributions
- Personal attacks
- Public or private harassment
- Publishing others private information such as electronic or physical addresses.
- Any other conduct that could be reasonably considered inappropriate in a professional setting.
- Discrimination with regard to _any_ of the criteria mentioned in our **Pledge**

Examples of positive behaviour that contributes to the community:

- Willingness to help others and answer questions
- Respecting differing opinions and viewpoints that are born of varying experiences.
- The handling of constructive feedback in a graceful manner be it giving or receiving.
- Accepting responsibility and accountability for our mistakes, especially when they affect others work and learning
- from the experience.
- A focus on the betterment of the community over the individual needs.

## Maintainer Responsibilities

---

Our Community Leaders are responsible for clarifying and enforcing the standards of
acceptable behviour and are expected to lead by example. If a breach of the Code of Conduct is found to have occured the
Community Leaders are charged with taking appropriate but fair corrective action.

Community Leaders have the responsibility, and maintain the right, to remove, edit, or reject comments, commits, code,
issues, and other contributions that are not in alignment with this Code of Conduct and will communicate the reasons for
any moderations they deem appropriate.

## Scope

---

TODO

## Enforcement

---

TODO

## Enforcement Guidelines

---

TODO

## Attribution

This Code of Conduct is adapted from the GITHUB documents template for "code of conduct" found when adding a file of the
name to your repo. For steps on accessing this template please see the link below.
https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project
56 changes: 56 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# CONTRIBUTING

## v1 - Drafted by Tadiwanashe Gukwa & Lucas Fadersen

Participation in the agile development of this project, including modification, testing, and editing, is only accessible to NM-TAFE students who have received a link to this repository via their outlook email.

## ENFORCEMENT GUIDELINES

---

The is Zero tolerance to plagiarism, make sure that the code you contribute is your own work.
N.B While working on this project the NM-TAFE code of conduct still applies.

## CONTRIBUTION

---

### Project set up

1. Fork the repo to your local device
2. Follow the steps on this link to set up the project \***\*link\*\***

## ISSUES

---

1. Identify a Bug: When you Identify a bug during the debugging process, and you intend to fix it you create an issue on GitHub.
2. Add a description and comment: Make sure that the description of the issue is clear with the issue number and add a comment describing the issue. The issue is reserved for the maker unless open-to-all tag is added.
3. Add a tag/label to the issue for example bug, enhancement, help wanted, priority: high, priority: low
4. Add the ready-for-work tag to an open issue when prepared to start working on it. This lets other programmers know that someone is working on the issue in their local IDE. By doing so, collisions are avoided.
5. Create a Branch: Before you start fixing the issue in your local IDE open your terminal, create a new branch using this command git check out -b <issue number>.
6. Fix the issue - create a test. When your test passes push the changes
7. Create a pull request: Create a pull request and associate it with the issue number on the pull request description for example if the issue is issue # 1 the pull request description will include Fixes #1 in the description so that when you merge changes the issue closes automatically.
8. Code Review - The project maintainers will review the code. Once approved changes will be merged into the main branch
9. Closing Issue - The issue is closed automatically by GitHub if step 3 was followed correctly

## CODE ENHANCEMENT

---

New ideas can be suggested and discussed on our the Team Discussion Board or Teams Chats first before implementing changes. **_channel link_**

## LICENCE

---

This project is licensed under the [Creative Commons Zero v1.0 Universal](LICENSE) license.

## CODING STYLE

---

Before contributing check this link for the style guide for this project which includes Code lay-out, Comments, Docstrings and naming conversions

- Project STYLE_GUIDE.md (\***\*link\*\***)
- PEP 8 – Style Guide for Python Code | peps.python.org
121 changes: 121 additions & 0 deletions LICENSE copy
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
Creative Commons Legal Code

CC0 1.0 Universal

CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.
56 changes: 55 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-24ddc0f5d75046c5622901739e7c5dd533143b0c8e959d652212380cedb1ea36.svg)](https://classroom.github.com/a/SCA-edx6)

<div align="center">

# OcrRoo

## v1 - Drafted by Rafael Avigad/James Makela

---

[Badges here]

**AI Powered OCR Code Recognition from Video Tutorials**

[![Build](https://github.com/NM-TAFE/project-advanced-ui-development-team-mental-capacity/actions/workflows/build.yml/badge.svg)](https://github.com/NM-TAFE/project-advanced-ui-development-team-mental-capacity/actions/workflows/build.yml)
Expand All @@ -16,19 +23,66 @@
A video player designed to assist visually impaired developers who want to learn to code.
The program reads code from videos to assist visually impaired developers in using these resources.

## Features - (need more info)

---

[Demo Video here]

- Ability to upload, or enter a video link.
- OcrRoo picks out any code text from the provided video, and reads that text to the user.

## Installation

To install and run this project, please follow the [Installation Guide](https://github.com/NM-TAFE/project-advanced-ui-development-team-mental-capacity/wiki/Installation-Guide)
in the [Wiki](https://github.com/NM-TAFE/project-advanced-ui-development-team-mental-capacity/wiki).

#### Basic Installation

1. Navigate to the projects root folder

2. Create a virtual environment

```bash
python -m venv ./venv
```

3. Activate the virtual environment
Windows:

```bash
./venv/Scripts/activate
```

Mac/Linux

```bash
source venv/bin/activate
```

4. Install dependencies with pip

```bash
pip install -r requirements.txt
```

5. ...rest of installation steps here

## Contributing

To contribute to this project, please follow the [Contribution Guide](https://github.com/NM-TAFE/project-advanced-ui-development-team-mental-capacity/wiki/Contribution-Guide)
in the [Wiki](https://github.com/NM-TAFE/project-advanced-ui-development-team-mental-capacity/wiki).

## Code of Conduct

---

- To view the code of conduct, please visit the [Code of Conduct] page in the [Wiki](https://github.com/NM-TAFE/project-advanced-ui-development-team-mental-capacity/wiki).

## License

This project is licensed under the [Creative Commons Zero v1.0 Universal](LICENSE) license.

## Credits
This code was first created by the 2023, S2 Advanced Programming Diploma Group at North Metro TAFE. If you would like your contribution acknowledged, please contact Rafael.

This code was first created by the 2023, S2 Advanced Programming Diploma Group at North Metro TAFE. If you would like your contribution acknowledged, please contact Rafael.
55 changes: 55 additions & 0 deletions STYLE_GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Style Guide Draft

## v1 - Drafted by Izaac Salh & Sukhwan Ko

## Adherence to PEP 8:

- Ensure Python code meets PEP 8 requirements.

## Consistency:

- Ensure consistent indentation, line length, and naming conventions.

## Variable and Function Naming:

- Use snake_case for variables and functions, and CamelCase for classes.

## Automated Code Formatting:

- Use tools like Black to ensure uniform code formatting.

## Imports Organisation:

- Organise imports into standard library, third-party, and project-specific categories.

## Docstrings:

- Provide explicit docstrings for function purpose, parameters, and return values.

## Comments:

- Keep comments concise and relevant for better code readability.

## Error Handling:

- Consistently handle errors with exceptions and documentation.

## Code File Structure:

- Organise code files with logical imports, class/function definitions, and major blocks.

## Test Organization:

- Organise tests with clear function names.

## Version Control Best Practices:

- Use informative commit messages and appropriate branching methods.

## Code Review standards:

- Establish explicit standards for code review, including style, functionality, and documentation.

## Licence and Copyright:

- Include licencing conditions and copyright notices in your project.

0 comments on commit 36ee810

Please sign in to comment.