Initial commit: KeepItGoing task management server

Features:
- Django-based REST API with web interface
- Task management with tags, priorities, and due dates
- Time tracking with start/stop timers
- Subtasks support
- Task filtering (all, today, upcoming, overdue, completed)
- Tag-based organization with color coding
- Sorting by due date and priority
- Auto-assign tags when filtering
- Responsive 3-pane layout (sidebar, task list, detail panel)
- Task sharing between users
- Mobile-responsive design with dark mode support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Keith Smith
2025-12-18 17:41:29 -07:00
co-authored by Claude Sonnet 4.5
commit 6a0b35c39c
84 changed files with 7763 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
"""
Task admin configuration.
"""
from django.contrib import admin
from .models import Task, Tag, TimeEntry, TaskShare
@admin.register(Tag)
class TagAdmin(admin.ModelAdmin):
"""Admin for Tag."""
list_display = ['name', 'user', 'color', 'is_archived', 'created_at']
list_filter = ['is_archived', 'created_at']
search_fields = ['name', 'user__email']
ordering = ['sort_order', 'name']
@admin.register(Task)
class TaskAdmin(admin.ModelAdmin):
"""Admin for Task."""
list_display = ['title', 'user', 'status', 'priority', 'due_date', 'created_at']
list_filter = ['status', 'priority', 'recurrence', 'created_at']
search_fields = ['title', 'description', 'user__email']
ordering = ['-created_at']
raw_id_fields = ['user', 'parent']
filter_horizontal = ['tags']
@admin.register(TimeEntry)
class TimeEntryAdmin(admin.ModelAdmin):
"""Admin for TimeEntry."""
list_display = ['task', 'user', 'started_at', 'ended_at', 'duration_seconds']
list_filter = ['started_at']
search_fields = ['task__title', 'user__email']
ordering = ['-started_at']
raw_id_fields = ['task', 'user']
@admin.register(TaskShare)
class TaskShareAdmin(admin.ModelAdmin):
"""Admin for TaskShare."""
list_display = ['owner', 'shared_with', 'task', 'tag', 'permission', 'created_at']
list_filter = ['permission', 'created_at']
search_fields = ['owner__email', 'shared_with__email']
ordering = ['-created_at']
raw_id_fields = ['owner', 'shared_with', 'task', 'tag']