- 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.
80 lines
1.8 KiB
Markdown
80 lines
1.8 KiB
Markdown
# 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
|
|
|
|
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
|
|
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 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.
|