Get notified when a new drop is available on Twitch or Kick
https://ttvdrops.lovinator.space/
- Python 82.5%
- HTML 17.1%
- XSLT 0.4%
- 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. |
||
|---|---|---|
| .vscode | ||
| config | ||
| core | ||
| templates | ||
| twitch | ||
| .env.example | ||
| .gitignore | ||
| .python-version | ||
| conftest.py | ||
| LICENSE | ||
| manage.py | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
ttvdrops
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
- Clone the repository
git clone https://github.com/TheLovinator1/ttvdrops.git
cd ttvdrops
- Install dependencies
uv sync
-
Set up environment variables by modifying the
.envfile -
Apply migrations
uv run python manage.py migrate
- Create a superuser
uv run python manage.py createsuperuser
Usage
Running the server
uv run python manage.py runserver
Access the application at http://127.0.0.1:8000/
Importing drop campaigns
uv run python manage.py import_drop_campaign path/to/your/json/file.json
Development
uv run python manage.py createsuperuser
uv run python manage.py makemigrations
uv run python manage.py migrate
uv run python manage.py collectstatic
uv run python manage.py runserver
uv run pytest
Project Structure
-
twitch/- Main app for Twitch drop campaignsmodels.py- Database models for campaigns, drops, and benefitsviews.py- Views for displaying campaign dataadmin.py- Admin interface configurationmanagement/commands/- Custom management commandsimport_drop_campaign.py- Command for importing JSON data
-
templates/- HTML templatestwitch/- App-specific templatesdashboard.html- Dashboard viewcampaign_list.html- List of all campaignscampaign_detail.html- Detailed view of a campaign
License
See the LICENSE file for details.