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%
| .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.