https://github.com/mohit7982/billcollector
Let BillCollector collect your bills from different personalized web portals.
https://github.com/mohit7982/billcollector
automation automations chrome-headless chromium cron docker duckdns github-config invoice-pdf linkedin portal python selenium vaultwarden
Last synced: 2 months ago
JSON representation
Let BillCollector collect your bills from different personalized web portals.
- Host: GitHub
- URL: https://github.com/mohit7982/billcollector
- Owner: Mohit7982
- Created: 2025-04-11T14:49:42.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-04-12T03:30:35.000Z (2 months ago)
- Last Synced: 2025-04-12T03:59:08.965Z (2 months ago)
- Topics: automation, automations, chrome-headless, chromium, cron, docker, duckdns, github-config, invoice-pdf, linkedin, portal, python, selenium, vaultwarden
- Language: JavaScript
- Size: 911 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BillCollector ππ°

Welcome to **BillCollector**! This project helps you collect bills from various personalized web portals. With BillCollector, you can automate the tedious task of gathering invoices, making your life easier and more organized.
## Table of Contents
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Installation](#installation)
- [Usage](#usage)
- [Configuration](#configuration)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)## Features π
- **Automated Bill Collection**: BillCollector automatically retrieves your bills from different web portals.
- **Personalized Portals**: Customize your settings to connect to your preferred billing websites.
- **PDF Invoice Generation**: Get your invoices in a clean PDF format for easy access and storage.
- **Docker Support**: Run BillCollector easily in a Docker container.
- **Cron Jobs**: Schedule regular bill collection to keep your finances up to date.
- **Secure Storage**: Use Vaultwarden or Bitwarden for secure password management.
- **Nginx Proxy**: Manage your web traffic efficiently with Nginx.
- **Headless Browsing**: Utilize Chrome Headless or Chromium for seamless automation.## Technologies Used π οΈ
BillCollector leverages a range of technologies to deliver its functionality:
- **Python**: The core language for the project.
- **Selenium**: For web automation and interaction.
- **Docker**: Containerization for easy deployment.
- **DuckDNS**: Dynamic DNS service for reliable access.
- **YAML**: For configuration files.
- **Nginx**: Web server for proxy management.
- **Vaultwarden/Bitwarden**: Secure credential storage.## Installation βοΈ
To get started with BillCollector, follow these steps:
1. **Clone the Repository**:
```bash
git clone https://github.com/Mohit7982/BillCollector.git
cd BillCollector
```2. **Install Dependencies**:
Make sure you have Python installed. Then, install the required packages:
```bash
pip install -r requirements.txt
```3. **Set Up Docker** (Optional):
If you prefer to run BillCollector in a Docker container, you can use the provided Dockerfile. Build and run the container:
```bash
docker build -t billcollector .
docker run -d billcollector
```4. **Download the Latest Release**:
Visit the [Releases section](https://github.com/Mohit7982/BillCollector/releases) to download the latest version of BillCollector. You need to execute the downloaded file.
## Usage π
Once you have BillCollector set up, you can start using it to collect your bills. Hereβs how:
1. **Configuration**:
Edit the `config.yaml` file to set up your billing portals. Specify the URLs, login credentials, and any other necessary details.
Example `config.yaml`:
```yaml
portals:
- name: "Electricity Bill"
url: "https://example.com/electricity"
username: "your_username"
password: "your_password"
- name: "Water Bill"
url: "https://example.com/water"
username: "your_username"
password: "your_password"
```2. **Run the Collector**:
Execute the following command to start collecting bills:
```bash
python bill_collector.py
```3. **Schedule with Cron**:
To automate the bill collection, set up a cron job. Edit your crontab with:
```bash
crontab -e
```Add the following line to run the collector every day at 8 AM:
```bash
0 8 * * * /path/to/python /path/to/bill_collector.py
```## Configuration βοΈ
BillCollector uses a YAML file for configuration. Hereβs a breakdown of the main settings:
- **portals**: List of billing portals to connect to.
- **schedule**: Define how often you want to run the collector.
- **output**: Specify the format and location for saving the invoices.### Example Configuration
```yaml
portals:
- name: "Internet Bill"
url: "https://internetprovider.com/bill"
username: "your_username"
password: "your_password"
schedule:
cron: "0 8 * * *"
output:
format: "pdf"
directory: "/path/to/save/invoices"
```## Contributing π€
We welcome contributions to BillCollector! Hereβs how you can help:
1. **Fork the Repository**: Click on the "Fork" button on GitHub.
2. **Create a Branch**: Use a descriptive name for your branch.
```bash
git checkout -b feature/your-feature-name
```
3. **Make Changes**: Implement your feature or fix.
4. **Commit Your Changes**: Write a clear commit message.
```bash
git commit -m "Add feature: your-feature-description"
```
5. **Push to Your Branch**:
```bash
git push origin feature/your-feature-name
```
6. **Create a Pull Request**: Submit your changes for review.## License π
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contact π¬
For questions or feedback, feel free to reach out:
- **GitHub**: [Mohit7982](https://github.com/Mohit7982)
- **Email**: [email protected]## Releases π
To download the latest release, visit the [Releases section](https://github.com/Mohit7982/BillCollector/releases). You need to execute the downloaded file.
Thank you for checking out BillCollector! We hope it makes your bill collection process smoother and more efficient.