Skip to content

README file is incomplete #12

Description

@LuisAPI

The current README.md file is incomplete and does not provide sufficient information about the project. A comprehensive README file is essential for users and contributors to understand the purpose, installation, usage, and other important details about the project.

Current README.md

# YouTubeWikiBot
Create a database of the most popular creators on the #1 video-sharing platform.

Required Updates

  1. Project Description: Provide a detailed description of the project.
  2. Features: List the main features of the project.
  3. Installation Instructions: Include steps to install the project.
  4. Dependencies: List the dependencies required for the project.
  5. Environment Variables: Document the necessary environment variables.
  6. Usage Instructions: Provide instructions on how to use the project.
  7. Testing: Include instructions on how to run tests.
  8. Project Structure: Outline the structure of the project.
  9. Contributing: Provide guidelines for contributing to the project.
  10. License: Include licensing information.

Proposed README.md

# YouTubeWikiBot

YouTubeWikiBot is a bot designed to create a database of the most popular creators on YouTube by fetching channel details and updating a MediaWiki site.

## Features

- Fetches YouTube channel details using the YouTube Data API.
- Updates a MediaWiki site with the fetched channel details.
- Automatically generates content for new and existing wiki pages.

## Installation

1. Clone the repository:
    ```sh
    git clone https://github.com/LuisAPI/YouTubeWikiBot.git
    cd YouTubeWikiBot
    ```

2. Create and activate a virtual environment (optional but recommended):
    ```sh
    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
    ```

3. Install the required dependencies:
    ```sh
    pip install -r requirements.txt
    ```

## Dependencies

The project requires the following dependencies, which are listed in `requirements.txt`:

- `google-api-python-client`: For interacting with the YouTube Data API.
- `python-dotenv`: For loading environment variables from a `.env` file.
- `mwclient`: For interacting with MediaWiki sites.
- `pycountry`: For retrieving full country names from country codes.
- `pytest`: For running tests.
- `setuptools`: For packaging the project.

## Environment Variables

The project relies on several environment variables, which should be defined in a `.env` file in the root directory of the project. Here is an example `.env` file:

```env
API_KEY=your_youtube_api_key
AUTHOR_EMAIL=your_email@example.com
WIKI_URL=your_wiki_url
WIKI_PATH=/w/
BOT_USERNAME=your_bot_username
BOT_PASSWORD=your_bot_password
CHANNELS_PAGE_TITLE=User:YouTubeWikiBot/Filters/Channel Update Requests
TEST_WIKI_URL=your_test_wiki_url
TEST_WIKI_PATH=/w/
TEST_USERNAME=your_test_username
TEST_PASSWORD=your_test_password

Usage

  1. Ensure that the .env file is correctly configured with your API keys and credentials.
  2. Run the main script to fetch channel details and update the wiki:
    python src/main.py

Testing

To run the tests, use the following command:

pytest

Project Structure

YouTubeWikiBot/
├── .github/
│   └── workflows/
│       └── python-publish.yml
├── .gitignore
├── .env
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py
├── src/
│   ├── __init__.py
│   ├── main.py
│   ├── utils.py
│   ├── wiki_bot.py
│   └── youtube_api.py
└── tests/
    ├── __init__.py
    └── test_wiki_bot.py

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License. See the LICENSE file for details.


### Steps to Reproduce

1. Open the current `README.md` file.
2. Observe the lack of detailed information.

### Expected Behavior

The `README.md` file should include comprehensive information about the project, including installation, usage, dependencies, environment variables, testing, project structure, contributing guidelines, and licensing information.

### Additional Context

A detailed README file will help users and contributors understand the project better and make it easier to use and contribute to.

---

Please update the `README.md` file accordingly.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions