# Contribution Guidelines for Submitting Pull Requests to the App Ideas Repository

> Follow these app ideas contribution guidelines for submitting pull requests. Ensure your PR is focused, uses the template, and passes checks before merging to master.

- Repository: [Florin Pop/app-ideas](https://github.com/florinpop17/app-ideas)
- Tags: best-practices
- Published: 2026-02-27

---

**Submit one focused pull request per app idea using the Example Guide template, verify the idea does not already exist in the README project tables, and complete the spelling and grammar checklist before opening a PR against the `master` branch.**

The florinpop17/app-ideas repository maintains a curated collection of application ideas for developers to practice their skills. Before submitting new concepts or modifications, contributors must follow the standardized workflow defined in [`CONTRIBUTING.md`](https://github.com/florinpop17/app-ideas/blob/main/CONTRIBUTING.md) and `Example Guide.md` to ensure consistent quality and efficient review cycles.

## Prerequisites: Verify Existing Ideas and Templates

Before writing any code or documentation, confirm that your contribution meets the repository's baseline requirements.

### Check the README for Existing Projects

All current app ideas are catalogued in the **Projects** tables within [`README.md`](https://github.com/florinpop17/app-ideas/blob/main/README.md). Duplicate suggestions clog the review pipeline and will be rejected. Scan the existing entries to ensure your concept provides unique value or significantly expands upon a prior implementation.

### Use the Example Guide Template

New app ideas must follow the standardized structure defined in `Example Guide.md`. This template mandates specific sections including:

- **Tier** (1-Beginner, 2-Intermediate, or 3-Advanced)
- **Description** (concise summary of the application)
- **User Stories** (functional requirements in checklist format)
- **Bonus Features** (optional enhancements)
- **Useful Links and Resources**

## Step-by-Step Pull Request Workflow

The [`CONTRIBUTING.md`](https://github.com/florinpop17/app-ideas/blob/main/CONTRIBUTING.md) file defines a lightweight, document-driven process for submitting changes.

### Create a Dedicated Feature Branch

Fork the repository to your GitHub account, then create a separate branch for your specific addition. Use descriptive branch names that indicate the content, such as `add-weather-app` or `fix-calculator-typo`. Avoid committing directly to your `master` branch to maintain a clean history.

### Submit One PR Per Suggestion

The contribution guidelines explicitly advise **one pull request per suggestion**. Bundling multiple unrelated app ideas into a single PR complicates review cycles and increases the likelihood of rejection. If you have three distinct ideas, open three separate pull requests.

### Complete the Contribution Checklist

Every pull request description must include verification of the following items, as specified in [`CONTRIBUTING.md`](https://github.com/florinpop17/app-ideas/blob/main/CONTRIBUTING.md):

- ✔️ Verify the idea is not already present in the README project tables
- ✔️ Use the Example Guide template for structure and formatting
- ✔️ Check spelling and grammar throughout the document
- ✔️ Submit a single PR for this specific addition

### Open the Pull Request Against Master

Push your feature branch to your fork, then open a Pull Request targeting the `master` branch of the upstream florinpop17/app-ideas repository. If you created an issue first, reference it in the PR description using the `Closes #issue-number` syntax and apply the **new-idea** label.

## Code Examples for New App Submissions

When adding a new project, create a markdown file in the appropriate `Projects/` subdirectory following the exact template structure.

### Example Project File Structure

Create a file at [`Projects/1-Beginner/Weather-App.md`](https://github.com/florinpop17/app-ideas/blob/main/Projects/1-Beginner/Weather-App.md) with the following content:

```markdown

# Weather App

**Tier:** 1-Beginner

A simple web app that fetches the current temperature and weather condition for a city.

## User Stories

- [ ] User can enter a city name.
- [ ] User can view temperature.
- [ ] User can view weather description.

```

### Example Pull Request Description

Use this format for your PR description to ensure maintainers can quickly verify compliance:

```text
Add Weather App (Tier-1)

- Uses the Example Guide template ✅
- Verified that no Weather App exists in the project list ✅
- Checked spelling and grammar ✅
- Single PR for this addition ✅

Closes #123 (if an issue was opened)

```

## Summary

- Verify your app idea does not duplicate existing entries in [`README.md`](https://github.com/florinpop17/app-ideas/blob/main/README.md) before starting.
- Structure all submissions using the `Example Guide.md` template with mandatory tier, description, and user stories sections.
- Submit **one pull request per suggestion** to streamline the review process.
- Include the contribution checklist in every PR description to confirm compliance with spelling, grammar, and formatting standards.
- Target the `master` branch with your pull requests and reference any related issues using the `new-idea` label.

## Frequently Asked Questions

### What template should I use for new app ideas?

All new app ideas must follow the structure defined in `Example Guide.md`. This template requires you to specify the difficulty tier (1-Beginner, 2-Intermediate, or 3-Advanced), provide a concise description, list user stories as checkboxes, and optionally include bonus features and useful resources.

### Can I submit multiple app ideas in a single pull request?

No. The [`CONTRIBUTING.md`](https://github.com/florinpop17/app-ideas/blob/main/CONTRIBUTING.md) guidelines explicitly require **one pull request per suggestion**. Bundling multiple ideas complicates the review process and increases the likelihood that the entire PR will be rejected. If you have several ideas, create separate branches and open individual pull requests for each.

### Which branch should I target when opening a pull request?

All pull requests must target the `master` branch of the upstream florinpop17/app-ideas repository. Create a feature branch in your fork (e.g., `add-new-app-idea`), push your changes there, and then open the PR against `master`. Do not commit directly to your own `master` branch.

### How do I know if my app idea already exists in the repository?

Check the **Projects** tables in [`README.md`](https://github.com/florinpop17/app-ideas/blob/main/README.md) before writing any code. These tables catalog all existing app ideas organized by difficulty tier. Duplicate suggestions are rejected, so verifying uniqueness against the current list is a mandatory first step in the contribution workflow.