From 4c5491fe1c81ca013330d30875b0aa1afb04e7e3 Mon Sep 17 00:00:00 2001 From: azriel-stephen Date: Tue, 10 Oct 2023 16:05:57 +0530 Subject: [PATCH] docs: improved CONTRIBUTING.md and added Code of Conduct --- CODE_OF_CONDUCT.md | 128 +++++++++++++++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 119 ++++++++++++++++++++--------------------- 2 files changed, 188 insertions(+), 59 deletions(-) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..afaa98f --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal 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 Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or + advances of any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email + address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## 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 + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 11a7427..f5b18ae 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,34 +1,31 @@ # Contributing to Review App API Thank you for your interest in contributing to the Review App API! -We appreciate your support and welcome your contributions to help -enhance and improve the project. Please read through the following +We appreciate your support and welcome your contributions to help +enhance and improve the project. Please read through the following guidelines to get started. ## Table of Contents + - [Contributing to Review App API](#contributing-to-review-app-api) - [Table of Contents](#table-of-contents) - [Prerequisites](#prerequisites) - [Contributing Guidelines](#contributing-guidelines) - [Setting Up the Development Environment](#setting-up-the-development-environment) - [Submitting a Pull Request (PR)](#submitting-a-pull-request-pr) - - [`.env Configuration`](#env-configuration) - - [Process](#process) + - [.env Configuration](#env-configuration) + - [Frontend Reference Link](#frontend-reference-link) - [Code of Conduct](#code-of-conduct) - - [We appreciate your contributions and look forward to - collaborating with you to improve the Review App API!] - (#we-appreciate-your-contributions-and-look-forward-to-collaborating-with-you-to-improve-the-review-app-api) + - [We Appreciate Your Contributions!](#we-appreciate-your-contributions) ## Prerequisites -Before you begin contributing to the backend of the Review App, -please ensure you have the following prerequisites installed and -configured on your local machine: +Before diving into contributions for the Review App backend, make sure your local machine is equipped with the following prerequisites: -- Docker: To set up and manage the development environment. -- Git: To clone and manage the project repository. -- Node.js and npm: To install project dependencies. -- Yarn: To manage Node.js packages effectively. +- **Docker:** Required for setting up and managing the development environment. +- **Git:** Essential for cloning and managing the project repository. +- **Node.js and npm:** Needed for installing project dependencies. +- **Yarn:** Recommended for efficient management of Node.js packages. ## Contributing Guidelines @@ -41,99 +38,103 @@ We follow these guidelines for contributing: ```bash git clone https://github.com/yourusername/review-app-api.git + ``` + 3. Navigate to the backend project directory: - ```bash + + ```bash cd review-app-api + ``` + 4. Create a new branch for your contribution: + ```bash git checkout -b feature-name + ``` + 5. Make your changes and ensure your code follows our coding standards and practices. 6. Test your changes locally to ensure they work as expected. 7. Commit your changes with clear and concise commit messages: + ```bash git commit -m "Add feature: your feature description" + ``` + 8. Create a pull request (PR) to the `main` repository's `main` branch. ## Setting Up the Development Environment + To set up the development environment locally, follow these steps: 1. Clone the backend repository: ```bash - git clone https://github.com/yourusername/review-app-api.git cd review-app-api - + git clone https://github.com/yourusername/review-app-api.git + cd review-app-api + ``` 2. Run Docker Compose to set up the development environment: ```bash docker-compose up -d - + ``` 3. Install project dependencies using Yarn: ```bash yarn - + ``` 4. Copy the `.env.example` file to .`env.local` and configure the 5. following environment variables in the `.env.local` file: + ```env DATABASE_URL=postgresql://postgres:password@localhost:5432/review JWT_SECRET=superman123 + You can replace `superman123` with any secret key of your choice. - You can replace superman123 with any secret of your choice. + ``` -5. Run database migrations to set up the database: +6. Run database migrations to set up the database: ```bash yarn migrate:latest - -6. Start the local development server: + ``` +7. Start the local development server: ```bash yarn local - -7. The backend will be up and running on port 8000. + ``` +8. The backend will be up and running on port 8000. ## Submitting a Pull Request (PR) When you're ready to submit your changes, create a pull request -(PR) to the `main` repository's main branch following our guidelines. -Be sure to provide a clear description of your changes in the PR, and +(PR) to the `main` repository's main branch following our guidelines. +Be sure to provide a clear description of your changes in the PR, and one of our maintainers will review it. -## `.env Configuration` -- Instructions on how to configure the environment variables for the - Review App API. - -1. You need to copy the `.env.example` file to - `.env.local` - -2. Then configure the necessary environment variables in the `.env.local` - file. - -4. In this case, the required environment variables are `DATABASE_URL` and - `JWT_SECRET`. - -6. The example shows the format for these variables and provides a placeholder - value for `JWT_SECRET`. - -8. You are instructed to replace this placeholder value with a secret of your choice. - -### Process - -- Copy the `.env.example` file to `.env.local` and configure the following - environment variables in the `.env.local` file: - ```env - DATABASE_URL=postgresql://postgres:password@localhost:5432/review - JWT_SECRET=superman123 - - - You can replace superman123 with any secret of your choice. +## .env Configuration + +To set up environment variables for the Review App API, follow these steps: + +1. **Copy `.env.example`:** Duplicate the `.env.example` file and name the copy `.env.local`. + +2. **Edit `.env.local`:** Open the newly created `.env.local` file and configure the necessary environment variables. In this case, you'll need to set values for `DATABASE_URL` and `JWT_SECRET`. + + ```env + DATABASE_URL=postgresql://postgres:password@localhost:5432/review + JWT_SECRET=your-secret-key-here + ``` + +3. **Replace Placeholder(s)**: Make sure to replace the placeholder values for `DATABASE_URL` with your Database URL and `JWT_SECRET` with a secret key of your choice. + +## Frontend Reference Link + +You can find the reference link to the frontend of the Review App [here](https://github.com/piyushgarg-dev/review-app). ## Code of Conduct -Please be aware that we have a Code of Conduct (CODE_OF_CONDUCT.md) that all -contributors are expected to follow. Please read and adhere to it throughout -your contribution journey. +We have established a [Code of Conduct](CODE_OF_CONDUCT.md) that all contributors are expected to follow. Please take a moment to read and adhere to it throughout your contribution journey. This code of conduct ensures a respectful and inclusive environment for everyone involved in the project. -## We appreciate your contributions and look forward to collaborating with you -to improve the Review App API! +## We Appreciate Your Contributions! +Thank you for considering contributing to the Review App API project. Your contributions are invaluable to us, and they play a crucial role in making this project better with each update.