Add backlogger app at /backlogger/ with login protection
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

Django app with Item model (games/books/films/other categories), CRUD
views, and login-required access. Login page at /accounts/login/ uses
custom dark-themed template consistent with the site design.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-29 22:18:32 +03:00
parent 62bb86f11d
commit a8ab5f6ce1
14 changed files with 825 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name='Item',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('category', models.CharField(choices=[('games', 'Games'), ('books', 'Books'), ('films', 'Films'), ('other', 'Other')], max_length=10)),
('name', models.CharField(max_length=200)),
('progress_percent', models.FloatField(default=0.0)),
('favorite', models.BooleanField(default=False)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('hours_played', models.FloatField(blank=True, null=True)),
('total_hours', models.FloatField(blank=True, null=True)),
('pages_read', models.IntegerField(blank=True, null=True)),
('total_pages', models.IntegerField(blank=True, null=True)),
('watched', models.BooleanField(blank=True, null=True)),
('duration_minutes', models.IntegerField(blank=True, null=True)),
],
options={
'ordering': ['-favorite', 'name'],
},
),
]

View File