Skip to content

Latest commit

 

History

History
136 lines (95 loc) · 3.53 KB

File metadata and controls

136 lines (95 loc) · 3.53 KB

Contributing to Project Ideas Library

Thank you for your interest in contributing to the Project Ideas Library! This document provides guidelines for contributing to this repository.

How to Contribute

Adding New Project Ideas

  1. Fork the repository and create a new branch
  2. Choose the appropriate difficulty level (beginner, intermediate, or advanced)
  3. Create a new folder with a descriptive name in kebab-case (e.g., task-scheduler)
  4. Create a README.md file following the template below

Project README Template

# Project Name

**Level:** Beginner/Intermediate/Advanced

## Description

A clear, concise description of what the project does.

## Features

- Feature 1
- Feature 2
- Feature 3
- Feature 4

## Learning Objectives

- Skill or concept 1
- Skill or concept 2
- Skill or concept 3

## Implementation Tips

1. First step or consideration
2. Second step or consideration
3. Third step or consideration
4. Fourth step or consideration

## Useful Resources

- Resource 1
- Resource 2
- Resource 3

## Additional Challenges

- Extra feature 1
- Extra feature 2
- Extra feature 3
- Extra feature 4

---

Guidelines

  • Language: All content must be in English
  • Tone: Professional and clear, avoid hype or sensationalism
  • No Emojis: Keep the documentation clean and professional
  • Technology Agnostic: Don't specify particular programming languages or frameworks
  • Focus on Concepts: Describe what needs to be built, not how to build it
  • Images: Include a relevant header image from public sources (with proper attribution if needed)

Project Difficulty Criteria

Beginner Projects:

  • Can be completed in a few hours to a few days
  • Requires basic programming knowledge
  • Limited external dependencies
  • Focuses on fundamental concepts

Intermediate Projects:

  • Takes several days to a couple of weeks
  • Requires understanding of APIs, databases, or frameworks
  • Multiple features working together
  • More complex state management

Advanced Projects:

  • Takes weeks to months
  • Requires architectural decisions
  • Scalability and security considerations
  • Multiple integrated systems
  • Real-world application complexity

Improving Existing Projects

  1. Fork the repository
  2. Make your improvements (fix typos, add clarity, suggest better approaches)
  3. Submit a pull request with a clear description of changes

Pull Request Process

  1. Ensure your PR addresses a single concern
  2. Update the README.md in the main directory if you're adding a new project
  3. Write clear, descriptive commit messages
  4. Reference any related issues
  5. Wait for review and address any feedback

Commit Message Format

Use clear, descriptive commit messages in English:

feat: add new meditation app project to intermediate level
fix: correct typo in password generator description
docs: improve implementation tips for chat application
refactor: reorganize advanced projects folder structure

Code of Conduct

  • Be respectful and constructive
  • Focus on the content, not the person
  • Help create a welcoming environment for all contributors
  • Report any inappropriate behavior to the maintainers

Questions?

If you have questions about contributing, feel free to:

  • Open an issue for discussion
  • Review existing issues and pull requests
  • Check the README.md for project structure

License

By contributing to this repository, you agree that your contributions will be licensed under the same license as the project.


Thank you for helping make this resource better for everyone!