Skip to content

Commit

Permalink
Documentation Update
Browse files Browse the repository at this point in the history
  • Loading branch information
PB2204 committed Sep 22, 2023
1 parent a2c25ef commit 936a2bb
Show file tree
Hide file tree
Showing 3 changed files with 207 additions and 7 deletions.
115 changes: 115 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# Contributing to My Image Fetcher Library

Thank you for considering contributing to My Image Fetcher Library! By contributing, you help improve the library and make it more valuable for others. Please take a moment to review this document to understand how you can contribute effectively.

## Table of Contents

1. [How Can I Contribute?](#how-can-i-contribute)
- [Reporting Bugs](#reporting-bugs)
- [Suggesting Enhancements](#suggesting-enhancements)
- [Submitting Pull Requests](#submitting-pull-requests)
2. [Getting Started](#getting-started)
- [Forking the Repository](#forking-the-repository)
- [Setting Up Your Development Environment](#setting-up-your-development-environment)
- [Building the Project](#building-the-project)
3. [Coding Guidelines](#coding-guidelines)
4. [Testing](#testing)
5. [Commit Messages](#commit-messages)
6. [License](#license)

## How Can I Contribute?

There are several ways you can contribute to this project:

### Reporting Bugs

If you encounter any issues or bugs while using the library, please [open a new issue](https://github.com/PB2204/CPP-Google-Image-Fetcher/issues) on GitHub. Be sure to provide as much detail as possible, including the steps to reproduce the issue and your environment.

### Suggesting Enhancements

If you have ideas for enhancements or new features, please [create an issue](https://github.com/PB2204/CPP-Google-Image-Fetcher/issues) on GitHub to discuss your proposal. We welcome your input and feedback.

### Submitting Pull Requests

If you would like to contribute code to the project, follow these steps:

1. [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) the repository.
2. [Clone](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository) your fork to your local machine.

#### Setting Up Your Development Environment

Make sure you have the necessary tools and dependencies installed. Refer to the [README.md](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/README.md) for instructions on setting up your development environment.

#### Building the Project

Follow the build instructions in the [README.md](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/README.md) to build the project locally.

#### Coding Guidelines

Adhere to the coding guidelines specified in the [Coding Guidelines](#coding-guidelines) section below.

#### Testing

Ensure that your changes do not break existing functionality. Write tests if necessary to cover your changes.

#### Commit Messages

Write clear and concise commit messages. Follow the [Commit Messages](#commit-messages) guidelines below.

3. Push your changes to your fork.

4. Create a pull request (PR) from your fork to the `main` branch of this repository.

5. Provide a clear and detailed description of your changes in the PR.

6. Await feedback and be prepared to address any reviewer comments or requests for changes.

Once your PR is approved and merged, you will be credited for your contribution!

## Getting Started

### Forking the Repository

To fork the repository, click the "Fork" button at the top right of the GitHub page.

### Setting Up Your Development Environment

Before contributing, ensure you have the following prerequisites:

- CMake
- C++ Compiler (e.g., GCC)
- cURL library (for making HTTP requests)

Refer to the [README.md](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/README.md) for detailed setup instructions.

### Building the Project

Follow the build instructions provided in the [README.md](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/README.md) file to build the project locally.

## Coding Guidelines

Please follow these coding guidelines when contributing:

- Follow the [C++ Core Guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines).
- Use meaningful variable and function names.
- Keep your code concise and well-documented.
- Format your code consistently.

## Testing

Ensure that your changes do not break existing functionality. Write unit tests if necessary to validate your changes.

## Commit Messages

Write clear and concise commit messages following these guidelines:

- Use present tense ("Add feature" not "Added feature").
- Limit the first line to 72 characters or less.
- Include a brief and meaningful message about your changes.
- Reference relevant issues or PRs.

## License

By contributing to this project, you agree that your contributions will be licensed under the [MIT License](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/LICENSE).

Happy contributing!
89 changes: 89 additions & 0 deletions LEARN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Learn My Image Fetcher Library

Welcome to the "Learn" section of My Image Fetcher Library! Here, you'll find everything you need to understand, use, and contribute to the library effectively. Whether you're a beginner or an experienced developer, this documentation will guide you through various aspects of the project.

## Table of Contents

1. [Getting Started](#getting-started)
- [Installation](#installation)
- [Basic Usage](#basic-usage)
2. [Documentation](#documentation)
- [Library Overview](#library-overview)
3. [Contributing](#contributing)
- [How to Contribute](#how-to-contribute)
- [Coding Guidelines](#coding-guidelines)
4. [Testing](#testing)
5. [License](#license)

## Getting Started

### Installation

To use My Image Fetcher Library in your project, you'll need to include it as a dependency. Here's how to get started:

#### Step 1: Clone the Repository

```bash
git clone https://github.com/pb2204/cpp-google-image-fetcher.git
```

#### Step 2: Build the Library

Refer to the [README.md](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/README.md) for instructions on building the library.

#### Step 3: Integrate the Library

Integrate the built library into your C++ project by linking against it. Make sure to include the necessary header files and set up your development environment.

### Basic Usage

Once you've integrated the library, you can start using it to fetch images from the web. Here's a basic example:

```cpp
#include <iostream>
#include "google_image_fetcher.h"

int main() {
GoogleImageFetcher imageFetcher;

// Fetch images and save them to a directory
imageFetcher.fetchImages("cat", "images");

std::cout << "Images fetched successfully." << std::endl;
return 0;
}
```

For more detailed usage instructions, consult the [API Reference](#api-reference) section below.

## Documentation

### Library Overview

My Image Fetcher Library is designed to simplify the process of fetching images from the web using the Google Custom Search API. It provides a C++ interface for querying images and downloading them to a specified directory.

## Contributing

We welcome contributions from the community to improve and enhance My Image Fetcher Library. If you'd like to get involved, here's how you can contribute:

### How to Contribute

1. Read our [Contributing Guidelines](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/CONTRIBUTING.md) to understand the contribution process.

2. Check the [Issues](https://github.com/PB2204/CPP-Google-Image-Fetcher/issues) page for open tasks and bug reports. You can also propose new features or enhancements.

3. Fork the repository, create a new branch for your work, and submit a pull request.

### Coding Guidelines

Before contributing code, please follow our [Coding Guidelines](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/CONTRIBUTING.md#coding-guidelines) to maintain code consistency and readability.

## Testing

To ensure the library's reliability, we maintain a suite of unit tests. When contributing, please make sure to run and add tests for your changes. Refer to the [Testing](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/CONTRIBUTING.md#testing) section in the contributing guidelines for more information.

## License

My Image Fetcher Library is licensed under the [MIT License](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/LICENSE). By using or contributing to this library, you agree to the terms outlined in the license.

Happy coding and image fetching!
10 changes: 3 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
Creating a well-structured README.md file is essential for your project as it provides a clear overview of your project's purpose, usage, and instructions for potential contributors. Here's a sample README.md template for your image fetching library project:

```markdown
# My Image Fetcher Library

My Image Fetcher Library is a C++ library that allows you to search for images on Google and download them to your local system. It provides a simple API for querying Google's Custom Search API and saving image results.
Expand Down Expand Up @@ -75,11 +72,11 @@ Contributions are welcome! If you'd like to contribute to this project, please f
4. Push to your branch: `git push origin feature/your-feature-name`
5. Open a pull request on this repository.

Please review the [Contributing Guidelines](CONTRIBUTING.md) for more details.
Please review the [Contributing Guidelines](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/CONTRIBUTING.md) for more details.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
This project is licensed under the MIT License - see the [LICENSE](https://github.com/PB2204/CPP-Google-Image-Fetcher/blob/main/LICENSE) file for details.

## Acknowledgments

Expand All @@ -90,5 +87,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file

If you have any questions, suggestions, or feedback, feel free to reach out to [Pabitra Banerjee](mailto:rockstarpabitra2204@gmail.com).

Happy coding!
```
Happy coding!

0 comments on commit 936a2bb

Please sign in to comment.