Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,37 @@
# Pull Request Template 🚀

## Description

Please include a summary of the changes and the related issue. Please also include relevant motivation and context.

## Related Issue

Fixes # (issue number) or Closes # (issue number)

## Type of Change

Please delete options that are not relevant:

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update

## Screenshots / Videos (if applicable)

Please add screenshots or screen recordings to demonstrate the visual changes.

## Testing Done

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

- [ ] Command run: `npm run test`
- [ ] Command run: `npm run lint`
- [ ] Command run: `npm run build`
- [ ] Visual verification on local dev server (`http://localhost:5173`)

## Checklist

- [ ] My code follows the style guidelines of this project.
- [ ] I have performed a self-review of my own code.
- [ ] I have commented my code, particularly in hard-to-understand areas.
Expand All @@ -34,6 +42,7 @@ Please describe the tests that you ran to verify your changes. Provide instructi
- [ ] Any dependent changes have been merged and published in downstream modules.

## Contributor Declaration

- [ ] I confirm that this contribution is made under the rules of **GSSoC 2026** and **NSoC 2026**.
- [ ] I confirm that I have been assigned the related issue by a maintainer before opening this PR.
- [ ] I have read the [Contributing Guidelines](https://github.com/indresh404/RankerHub/blob/main/docs/CONTRIBUTING.md) and [Code of Conduct](https://github.com/indresh404/RankerHub/blob/main/docs/CODE_OF_CONDUCT.md).
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI Checks
on:
pull_request:
push:
branches: [ main ]
branches: [main]

jobs:
lint:
Expand All @@ -18,7 +18,7 @@ jobs:
uses: actions/setup-node@v6
with:
node-version: 20
cache: 'npm'
cache: "npm"

- name: Install dependencies
run: npm ci
Expand All @@ -38,7 +38,7 @@ jobs:
uses: actions/setup-node@v6
with:
node-version: 20
cache: 'npm'
cache: "npm"

- name: Install dependencies
run: npm ci
Expand All @@ -58,7 +58,7 @@ jobs:
uses: actions/setup-node@v6
with:
node-version: 20
cache: 'npm'
cache: "npm"

- name: Install dependencies
run: npm ci
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/lock-closed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name: Lock Closed Threads

on:
schedule:
- cron: '0 2 * * *' # Run daily at 2:00 AM
- cron: "0 2 * * *" # Run daily at 2:00 AM
workflow_dispatch:

permissions:
Expand All @@ -20,7 +20,7 @@ jobs:
uses: dessant/lock-threads@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
issue-inactive-days: '14'
pr-inactive-days: '14'
issue-comment: 'This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.'
pr-comment: 'This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related discussions.'
issue-inactive-days: "14"
pr-inactive-days: "14"
issue-comment: "This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs."
pr-comment: "This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related discussions."
4 changes: 2 additions & 2 deletions .github/workflows/quality-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Quality & Formatting Checks

on:
push:
branches: [ main ]
branches: [main]
pull_request:
issues:
types: [opened]
Expand All @@ -24,7 +24,7 @@ jobs:
uses: actions/setup-node@v6
with:
node-version: 20
cache: 'npm'
cache: "npm"

- name: Install dependencies
run: npm ci
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name: Mark stale issues and pull requests

on:
schedule:
- cron: '30 1 * * *' # Run daily
- cron: "30 1 * * *" # Run daily
workflow_dispatch:

permissions:
Expand All @@ -19,11 +19,11 @@ jobs:
- uses: actions/stale@v10
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions!'
stale-pr-message: 'This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions!'
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions!"
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions!"
days-before-stale: 20
days-before-close: 7
stale-issue-label: 'stale'
stale-pr-label: 'stale'
exempt-pr-labels: 'keep-open,pinned,security'
exempt-issue-labels: 'keep-open,pinned,security'
stale-issue-label: "stale"
stale-pr-label: "stale"
exempt-pr-labels: "keep-open,pinned,security"
exempt-issue-labels: "keep-open,pinned,security"
7 changes: 5 additions & 2 deletions BRANCH_PROTECTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,23 @@ To ensure repository integrity and maintain high code quality standards, please

1. Navigate to the repository page on GitHub.
2. Click on the **Settings** tab at the top.
3. In the left sidebar, click on **Branches** (under *Code and automation*).
3. In the left sidebar, click on **Branches** (under _Code and automation_).
4. Under **Branch protection rules**, click **Add rule** (or edit the existing rule for `main`).
5. Set the **Branch name pattern** to `main` (or the default branch name).
6. Enable the following recommended settings:

---

### 1. Require a Pull Request Before Merging

- [x] Check **Require a pull request before merging**.
- [x] Check **Require approvals**.
- Set *Required number of approvals before merging* to **1**.
- Set _Required number of approvals before merging_ to **1**.
- [x] Check **Dismiss stale pull request approvals when new commits are pushed**.
- [x] Check **Require review from Code Owners**. (Forces PRs to be approved by owner of code owners path).

### 2. Require Status Checks to Pass Before Merging

- [x] Check **Require status checks to pass before merging**.
- [x] Check **Require branches to be up to date before merging**.
- In the search box, find and select the following status checks (they will appear after running the workflows at least once):
Expand All @@ -29,6 +31,7 @@ To ensure repository integrity and maintain high code quality standards, please
- `Build Application`

### 3. Block Force Pushes & Deletions

- [x] Check **Restrict who can push to matching branches**. (Ensures write-access users can only merge via PRs).
- [x] (Enabled by default) **Block force pushes** and **Block deletions**.

Expand Down
20 changes: 10 additions & 10 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ In the interest of fostering an open and welcoming environment, we as contributo

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* 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
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- 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

## Our Responsibilities

Expand Down
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,14 @@ Please maintain a respectful, welcoming, and inclusive environment. Be helpful t
## Getting Started

### 1. Prerequisites

Ensure you have the following installed on your local machine:

- [Node.js](https://nodejs.org/) (v20.0.0 or higher recommended)
- [Git](https://git-scm.com/)

### 2. Fork & Clone

1. Fork the [RankerHub Repository](https://github.com/indresh404/RankerHub) to your own GitHub account.
2. Clone your fork locally:
```bash
Expand All @@ -28,30 +31,37 @@ Ensure you have the following installed on your local machine:
```

### 3. Install Dependencies

Run the following command to install the project dependencies:

```bash
npm install
```

### 4. Setup Environment Variables

1. Copy the `.env.example` file to create a `.env` file in the root directory:
```bash
cp .env.example .env
```
2. Open the `.env` file and fill in your Firebase configuration keys (see the [Firebase Setup](#firebase-setup) below).

### 5. Run the Project

Start the local development server:

```bash
npm run dev
```

The application will be running locally at `http://localhost:5173`.

---

## Firebase Setup

To get your own Firebase credentials for local development:

1. Go to the [Firebase Console](https://console.firebase.google.com/).
2. Create a new Firebase project (e.g., `rankerhub-dev`).
3. Add a **Web App** to your project.
Expand Down Expand Up @@ -116,20 +126,25 @@ For the private repo sync feature to work, the OAuth App needs the `repo` scope:
To keep the repository history clean, please follow these branching and commit message conventions:

### Branch Naming

Create a new branch from `main` before starting your work:

- `feat/feature-name` – for new features
- `fix/bug-name` – for bug fixes
- `docs/doc-updates` – for documentation changes
- `refactor/refactored-code` – for code restructuring without changing behavior
- `chore/task-name` – for maintenance tasks or package upgrades

Example:

```bash
git checkout -b feat/user-leaderboard
```

### Commit Messages (Semantic Commits)

Write clear and descriptive commit messages following the semantic commit pattern:

- `feat: add female developer ranking page`
- `fix: resolve auth validation issue`
- `docs: update setup steps in README`
Expand Down
Loading
Loading