This commit is contained in:
nite 2025-04-06 13:24:19 +10:00
parent ede5db67e5
commit b2cfae1711

73
README.md Normal file
View File

@ -0,0 +1,73 @@
# IGDB Database Collector
A service that collects and stores video game data from IGDB (Internet Game Database) into MongoDB. It provides both bulk data collection and webhook-based real-time updates.
## Features
- Bulk collection of IGDB data
- Real-time updates via webhooks
- MongoDB storage
- Support for all IGDB endpoints
## Prerequisites
- Go 1.24.1 or higher
- MongoDB
- IGDB API credentials (Client ID and Secret from Twitch)
## Configuration
Create a `config.json` file in the root directory with the following structure:
```json
{
"address": "localhost:8080",
"database": {
"host": "localhost",
"port": 27017,
"user": "username",
"password": "password",
"database": "igdb"
},
"twitch": {
"client_id": "your_client_id",
"client_secret": "your_client_secret"
},
"webhook_secret": "your_webhook_secret",
"extral_url": "https://your-webhook-url.com"
}
```
## Installation
```bash
# Clone the repository
git clone https://github.com/yourusername/igdb-database.git
# Install dependencies
go mod download
```
## Usage
### Running the Service
```bash
go run main.go
```
The service will:
1. Connect to MongoDB
2. Initialize IGDB client
3. Fetch initial data if collections are empty
4. Start webhook server for real-time updates
## Dependencies
- [go-igdb](https://github.com/bestnite/go-igdb) - IGDB API client
- [mongo-driver](https://github.com/mongodb/mongo-go-driver) - MongoDB driver for Go
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.