You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-47
Original file line number
Diff line number
Diff line change
@@ -79,63 +79,23 @@ A REST API implementing each of the [30 example applications](https://platform.o
79
79
80
80
Detailed documentation for each endpoint is available here: [Documentation](./doc/examples/)
81
81
82
-
## Examples of Code Management Best Practices
83
-
84
-
This repo is referenced by multiple YouTube videos, including various tutorials about good coding practices and good code management. Of note:
85
-
86
-
### Automations
87
-
88
-
-[Automated Pull Requests](https://github.com/FullStackWithLawrence/aws-openai/pulls?q=is%3Apr+is%3Aclosed): Github Actions are triggered on pull requests to run any of several different kinds of technology-specific unit tests depending on the contents of the commits included in the PR.
89
-
-[python-dotenv](https://pypi.org/project/python-dotenv/) for storing sensitive data for local development
90
-
-[.gitignore](./.gitignore) ensures that no sensitive nor useless data accidentally gets pushed to GitHub.
91
-
-[tox.ini](./tox.ini) file for configuring behaviors of Python testing tools
92
-
-[GitHub Actions](https://github.com/features/actions) automates unit testing, semantic release rule checking, and dependabot actions.
93
-
-[GitHub Secrets](https://github.com/FullStackWithLawrence/aws-openai/settings/secrets/actions) to provide sensitive data to Github Actions workflows
-[Makefile](./Makefile) automates procedures like init, build, test, release and linting for Python, ReactJS and Terraform.
96
-
-[pre-commit](https://pre-commit.com/) automatically enforces a multitude of code quality, coding style and security policies.
97
-
-[Dependabot](https://github.com/dependabot) automatically updates the version pins of code library dependencies for Python, ReactJS and Terraform.
98
-
-[Unit Tests](https://docs.pytest.org/) are automated and can be invoked
99
-
- manually from the command line
100
-
- manually from GitHub Actions
101
-
- automatically by Dependabot.
102
-
-[Mergify](https://mergify.com/) automates processing of bot-created pull requests
103
-
-[Semantic Release](https://github.com/semantic-release/semantic-release) automates version releases as well as maintains the change log for the repo.
104
-
-[Change Log](http://keepachangelog.com/)
105
-
106
-
### Linters and Formatters
107
-
108
-
Linters and formatters are tools used in programming to analyze and improve the quality of code. This project leverages several, including:
109
-
110
-
#### Code Formatting
111
-
112
-
-[Prettier](https://prettier.io/): an opinionated code formatter that supports many file formats and languages. This project leverages Prettier to standardize formatting of md, css, json, yml, js, jsx and Typescript files.
113
-
-[Black](https://github.com/psf/black): an opinionated code formatter for Python which is compatible with [PEP 8](https://peps.python.org/pep-0008/) and the [Python Style Guide](https://www.python.org/doc/essays/styleguide/).
114
-
-[isort](https://pycqa.github.io/isort/): a Python utility that sorts imports alphabetically, and automatically, separated into sections and by type.
115
-
116
-
#### Code Analysis
117
-
118
-
-[ESLint](https://eslint.org/): an open source project that helps you find and fix problems with your JavaScript and JSX code.
-[pylint](https://pypi.org/project/pylint/): a static code analyser for Python. It analyses your code without actually running it. It checks for errors, enforces a coding standard, looks for code smells, and can make suggestions about how the code could be refactored.
121
-
-[bandit](https://github.com/PyCQA/bandit): a tool designed to find common security issues in Python code.
82
+
## Support
122
83
123
-
#### Pre-commit hooks
84
+
To get community support, go to the official [Issues Page](https://github.com/FullStackWithLawrence/aws-rekognition/issues) for this project.
124
85
125
-
-[pre-commit Hooks](https://pre-commit.com/hooks.html): scripts that run automatically before each commit is made to a repository, checking your code for embedded passwords, errors, issues, and any of a multitude of configurable policies that you can optionally enforce. They're part of the git hooks system, which allows you to trigger actions at certain points in git's execution. This project uses many Hooks. See [pre-commit-config.yaml](https://github.com/FullStackWithLawrence/aws-openai/blob/main/.pre-commit-config.yaml#L45).
126
-
-[codespell](https://github.com/codespell-project/codespell): fixes common misspellings in text files. It's designed primarily for checking misspelled words in source code, but it can be used with other files as well.
86
+
## Good Coding Best Practices
127
87
128
-
## Support
88
+
This project demonstrates a wide variety of good coding best practices for managing mission-critical cloud-based micro services in a team environment, namely its adherence to [12-Factor Methodology](./doc/Twelve_Factor_Methodology.md). Please see this [Code Management Best Practices](./doc/GOOD_CODING_PRACTICE.md) for additional details.
129
89
130
-
To get community support, go to the official [Issues Page](https://github.com/FullStackWithLawrence/aws-openai/issues)for this project.
90
+
We want to make this project more accessible to students and learners as an instructional tool while not adding undue code review workloads to anyone with merge authority for the project. To this end we've also added several pre-commit code linting and code style enforcement tools, as well as automated procedures for version maintenance of package dependencies, pull request evaluations, and semantic releases.
131
91
132
92
## Contributing
133
93
134
94
We welcome contributions! There are a variety of ways for you to get involved, regardless of your background. In addition to Pull requests, this project would benefit from contributors focused on documentation and how-to video content creation, testing, community engagement, and stewards to help us to ensure that we comply with evolving standards for the ethical use of AI.
135
95
136
96
For developers, please see:
137
97
138
-
- the [Developer Setup Guide](./CONTRIBUTING.md)
139
-
- and these [commit comment guidelines](./SEMANTIC_VERSIONING.md) 😬😬😬 for managing CI rules for automated semantic versioning.
98
+
- the [Developer Setup Guide](./doc/CONTRIBUTING.md)
99
+
- and these [commit comment guidelines](./doc/SEMANTIC_VERSIONING.md) 😬😬😬 for managing CI rules for automated semantic releases.
140
100
141
101
You can also contact [Lawrence McDaniel](https://lawrencemcdaniel.com/contact) directly.
0 commit comments