diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 0accbbe44..a34c93054 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -3,27 +3,28 @@ ## Our Pledge In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and +contributors and maintainers pledge to participate in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, nationality, personal -appearance, race, religion, or sexual identity and orientation. +appearance, race, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. ## Our Guidelines * Everyone in the group should ensure that they can be contacted easily by other members of the group by giving them adequate contact information * When working in a group, please treat other members of the group with courtesy and respect their opinions, even if you do not necessarily agree with them * You are expected to make a full and fair contribution to the work of the group -* When you agree to undertake a task that has been assigned to you by the group you must try work to the agreed deadline since failure to do so could impede the progress of the whole project +* When you agree to undertake a task that has been assigned to you by the group you must try to work to the agreed deadline since failure to do so could impede the progress of the whole project * You have the right, naturally, to challenge other’s opinions but please try to do it in a non-aggressive way -* It is your responsibility to attend all meetings arranged by the group to advance the project, and to arrive at those meetings on time. If you can’t attend a meeting of the group you should consider providing your input in written form and giving this to the other group members before the meeting +* It is your responsibility to attend all meetings arranged by the group to advance the project and to arrive at those meetings on time. If you can’t attend a meeting of the group you should consider providing your input in written form and giving this to the other group members before the meeting * If another member of your group tells you something in confidence. - ## Be Respectful In particular, respect differences of opinion. -## Be charitable +## Be Charitable Interpret the arguments of others in good faith, do not seek to disagree. When we do disagree, try to understand why. @@ -57,7 +58,7 @@ is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. -Project maintainers who do not follow or enforce the Code of Conduct in good +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. @@ -75,7 +76,53 @@ members of the project's leadership. * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting +* Other conduct that could reasonably be considered inappropriate in a professional setting + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. ## Attribution diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e166e88de..fe804a4da 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,41 +1,111 @@ ## Contributing: -* If you would like to contribute and collaborate for this repository, then please intimate us through email at popcornpicks504@gmail.com. +* If you would like to contribute and collaborate with this repository, then please inform us through email at popcornpicks504@gmail.com. ## Purpose of Contributing: -* To develop our product and take it to next level. -* To enhance the already exisiting feature. +* To develop our product and take it to the next level. +* To enhance the already existing feature. * To make the product more efficient. * To resolve critical bugs encountered. * Helping the community by delivering a better product. -* Help us find solutions to computationally/memory intensive processes +* Help us find solutions to computationally/memory-intensive processes * Help us to scale the system to a larger database -* To run the email notifier feature - make your own gmail account and password and replace the same in the utils.py(function: send_email_to_user(recipient_email, categorized_data)) +* To run the email notifier feature - make your own Gmail account and password and replace the same in the utils.py(function: send_email_to_user(recipient_email, categorized_data)) + +## Our Table Of Contents + +- .github/workflows + - all GitHub workflow YAML files +- proj2 + - score_card.md + +- src + - prediction_scripts + - item_based.py + - recommenderapp + - static + - script.js + - stylesheet.css + - templates + - landing_page.html + - search_page.html + - success.html + - app.py + - search.py + - utils.py + +- test + - test_predict.py + - test_search.py + - test_util.py + +- .gitignore + +- CODE_OF_CONDUCT.md + +- CONTRIBUTING.md + +- LICENSE + +- README.md + +- requirements.txt + +- setup.py + +## Suggesting Enhancements + +Any suggested enhancements like adding new features or improving existing functionalities, etc can done by following the below guidelines. They help maintainers understand your improvement.
+[the template](https://github.com/atom/.github/blob/master/.github/ISSUE_TEMPLATE/feature_request.md)- this template is to be filled to add suggestions. These can include the steps that you imagine you would take if the feature you're requesting existed. + +##### Before Submitting An Enhancement Suggestion + +[debugging guide](https://flight-manual.atom.io/hacking-atom/sections/debugging/). Check out this debugging guide, which helps you to find the cause of the problem and you may fix it by yourself manually.
+[cursory search](https://github.com/search?q=+is%3Aissue+user%3Aatom) A cursory search is necessary to check if the reported bug has already been mentioned before or not. You can add to the existing bug report if the issue is still open. + +#### To Submit A Good Enhancement Suggestion + +[GitHub issues](https://guides.github.com/features/issues/) You can track the bugs from this. For the repository that has a bug, create an issue and fill out [the template](https://github.com/atom/.github/blob/master/.github/ISSUE_TEMPLATE/bug_report.md) to give details of the bug. + +* To identify the problem, give the issue a clear and informative term.
+* Describe in as much detail as possible to duplicate the problem. Explain the problem and explain the exact command used in the terminal that caused the bug to occur. +* To demonstrate the steps, give specific examples. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines). +* Specify the problem behavior that you expected to see and why. +* If possible, include screenshots and animated GIFs that clearly demonstrate the problem. [this tool](https://www.cockos.com/licecap/)- to record GIFs on macOS and Windows, and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux. +* To include a crash report, add a stack trace from the operating system. For macOS, `Console.app` under "Diagnostic and usage information" > "User diagnostic reports" has the crash report. Include the crash report in the issue in a [code block](https://help.github.com/articles/markdown-basics/#multiple-lines), a [file attachment](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/), or put it in a [gist](https://gist.github.com/) and provide link to that gist. +* For performance or memory issues, include a [CPU profile capture](https://flight-manual.atom.io/hacking-atom/sections/debugging/#diagnose-runtime-performance) with your report. + +#### Start Your Contribution + +`beginner` and `help-wanted` issues can help you get started to making your first contribution: + +* [Beginner issues][beginner] - issues which should only require a few lines of code, and a test or two. +* [Help wanted issues][help-wanted] - issues that should be a bit more involved than `beginner` issues. ## Style checkers standards: -* Use the `pylance` package for python (VS code), and use `black` for auto-styling and auto-formatting the code. +* Use the `pylance` package for Python (VS code), and use `black` for auto-styling and auto-formatting the code. * Use 'pylint' for proper coding standards - ## Code of Conduct: -* Please go through the [Code of Conduct](https://github.com/adipai/PopcornPicks/blob/master/CODE_OF_CONDUCT.md) before you begin contributing. +* Please go through the [Code of Conduct](https://github.com/adipai/PopcornPicks/blob/master/CODE_OF_CONDUCT.md) before you begin contributing. This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to popcornpicks504@gmail.com. ## Pull Request Submission Guidelines * Installing Git makes contributing to the repository easier * To start contributing to the repository make sure you fork the repository first * Create a new branch to develop the project -* Write code to contribute and commit to create a pull request and merge it with the repository after it passes the CI build check -* One of the repository administrators will review the Pull request and merge the changes +* Write code to contribute and commit to create a pull request. +* Pass all the test cases that we have mentioned in the test folder and ensure the code passes the workflow checks. +* One of the repository administrators will review the pull request and merge the changes. ## Code Style Guide * Python language(Version 3.x) has been used to build this project repository * Make sure to add the functionalities in the form of modules -* Any code which is not tested should be committed to the test codes in the code folder. After they are successfully tested, the main code can be updated. -* Variable Names should be self-explanatory -* Comment the code so that a new contributor can understand the functionality of the modules easily +* Any code that is not tested should be committed to the test codes in the code folder. After they are successfully tested, the main code can be updated. +* Variable names should be self-explanatory +* Add comments in the code so that a new contributor can understand the functionality of the modules easily * `black` is used as linter * 'Pylint' used for proper coding standards diff --git a/README.md b/README.md index 09bf00914..25b3995bf 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ PopcornPicks is a user-friendly movie recommender that curates a tailored list o ### Movie Recommendation Mechanism **The user selects upto 5 movies to get a tailored watchlist and provide feedback for the same** - + ### Email Notifier **The user sends his/her movies feedback via an email (Notify Me button)** @@ -111,7 +111,6 @@ Check out the significant changes that we made for Project 2 [here](https://gith Finally, start enjoying personalized movie recommendations! ## Future Scope - PopcornPicks is a dynamic project with endless possibilities for expansion and enhancement. Here are some exciting avenues for future development: 1. **Add poster, overview, and runtime**: Use the updated database to include additional information, pulling it up on the website while showing the list of recommended movies. @@ -137,6 +136,7 @@ PopcornPicks is a dynamic project with endless possibilities for expansion and e The future of PopcornPicks is full of potential, and we invite developers, movie lovers, and anyone passionate about cinema to join us in making this platform the ultimate movie companion. ## Contribute to the Project! + Please refer to the [CONTRIBUTING.md](https://github.com/adipai/PopcornPicks/blob/master/CONTRIBUTING.md) if you want to contribute to the PopcornPicks source code. Follow all the guidelines mentioned in the same and raise a pull request, we would love to look at it ❤️❤️! ## Contributors diff --git a/src/recommenderapp/app.py b/src/recommenderapp/app.py index 22471b4ae..f9744700e 100644 --- a/src/recommenderapp/app.py +++ b/src/recommenderapp/app.py @@ -101,4 +101,4 @@ def success(): if __name__ == "__main__": - app.run(port=5000, debug=True) + app.run(port=5000)