feat: Add Twitch Drops Tracker application with campaign management
- Implemented models for DropCampaign, Game, Organization, DropBenefit, TimeBasedDrop, and DropBenefitEdge. - Created views for listing and detailing drop campaigns. - Added templates for dashboard, campaign list, and campaign detail. - Developed management command to import drop campaigns from JSON files. - Configured admin interface for managing campaigns and related models. - Updated URL routing for the application. - Enhanced README with installation instructions and project structure.
This commit is contained in:
parent
0c7c1c3f30
commit
5c482c1729
15 changed files with 1145 additions and 10 deletions
66
README.md
66
README.md
|
|
@ -2,6 +2,53 @@
|
|||
|
||||
Get notified when a new drop is available on Twitch
|
||||
|
||||
## Features
|
||||
|
||||
- Import and track Twitch drop campaigns
|
||||
- View campaign details including start/end dates and rewards
|
||||
- Filter campaigns by game and status
|
||||
- Dashboard with active campaigns and quick stats
|
||||
- Admin interface for managing campaigns and drops
|
||||
|
||||
## Installation
|
||||
|
||||
1. Clone the repository
|
||||
```bash
|
||||
git clone https://github.com/TheLovinator1/ttvdrops.git
|
||||
cd ttvdrops
|
||||
```
|
||||
|
||||
2. Install dependencies
|
||||
```bash
|
||||
uv sync
|
||||
```
|
||||
|
||||
3. Set up environment variables by modifying the `.env` file
|
||||
|
||||
4. Apply migrations
|
||||
```bash
|
||||
uv run python manage.py migrate
|
||||
```
|
||||
|
||||
5. Create a superuser
|
||||
```bash
|
||||
uv run python manage.py createsuperuser
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Running the server
|
||||
```bash
|
||||
uv run python manage.py runserver
|
||||
```
|
||||
|
||||
Access the application at http://127.0.0.1:8000/
|
||||
|
||||
### Importing drop campaigns
|
||||
```bash
|
||||
uv run python manage.py import_drop_campaign path/to/your/json/file.json
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
|
|
@ -12,3 +59,22 @@ uv run python manage.py collectstatic
|
|||
uv run python manage.py runserver
|
||||
uv run pytest
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
|
||||
- `twitch/` - Main app for Twitch drop campaigns
|
||||
- `models.py` - Database models for campaigns, drops, and benefits
|
||||
- `views.py` - Views for displaying campaign data
|
||||
- `admin.py` - Admin interface configuration
|
||||
- `management/commands/` - Custom management commands
|
||||
- `import_drop_campaign.py` - Command for importing JSON data
|
||||
|
||||
- `templates/` - HTML templates
|
||||
- `twitch/` - App-specific templates
|
||||
- `dashboard.html` - Dashboard view
|
||||
- `campaign_list.html` - List of all campaigns
|
||||
- `campaign_detail.html` - Detailed view of a campaign
|
||||
|
||||
## License
|
||||
|
||||
See the [LICENSE](LICENSE) file for details.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue