Commit Graph
63 Commits
Author SHA1 Message Date
Keith SmithandClaude Sonnet 4.5 a22c3eed50 Fix Critical Security Issue: Remove weak default SECRET_KEY
Security improvements:
- selfhosted.py: Require SECRET_KEY environment variable (raises ValueError if not set)
- selfhosted.py: Validate SECRET_KEY length (minimum 50 characters)
- selfhosted.py: Warn if DEBUG=True in self-hosted mode
- development.py: Auto-generate random SECRET_KEY on each startup if not provided
- development.py: Remove production domain from ALLOWED_HOSTS
- development.py: Make CSRF_TRUSTED_ORIGINS environment-only

This prevents weak/default SECRET_KEYs from being used in production.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 22:31:46 -07:00
Keith SmithandClaude Sonnet 4.5 13b5a3c10c Add generic SMTP server configuration example
Add a basic SMTP example that works with any standard SMTP server,
positioned before the specific provider examples (Gmail, SendGrid, etc.).

Includes:
- Generic SMTP configuration template
- Clear explanation of EMAIL_USE_TLS vs EMAIL_USE_SSL
- Common SMTP port reference (587, 465, 25)
- Notes on which settings to use for each port

This provides a starting point for users with custom mail servers
or SMTP providers not specifically listed in the documentation.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 22:11:37 -07:00
Keith SmithandClaude Sonnet 4.5 a9293d6151 Remove Docker support files and documentation
Remove Docker deployment files and all references from README:
- Deleted Dockerfile
- Deleted docker-compose.yml (production)
- Deleted docker-compose.dev.yml (development)
- Removed Docker from Tech Stack section
- Removed Docker Deployment section from README

Docker support may be revisited and added back in the future.
For now, focus is on manual deployment as documented in the
Production Setup Guide.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 22:08:36 -07:00
Keith SmithandClaude Sonnet 4.5 6fd86a3682 Make tag text bold for better readability
Add font-weight: 600 to tag labels to improve text readability
on solid colored backgrounds. The bold text provides better
contrast and matches the visual weight of the desktop app.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 22:06:57 -07:00
Keith SmithandClaude Sonnet 4.5 ccd1fe15c1 Update tag styling to match desktop app
Change tag display from transparent background with colored text
to solid colored background with white text to match the desktop app:
- Background: Solid tag color (was transparent with 20% opacity)
- Text: White (was same color as tag)
- Maintains existing rounded rectangle shape from CSS

Tags now appear as colored pills with white text, matching the
visual style of the desktop application.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 22:06:10 -07:00
Keith SmithandClaude Sonnet 4.5 1872442016 Fix dark/light mode support on change password page
Replace all hardcoded colors and CSS variable fallbacks with proper
theme CSS variables:
- Removed fallback values from all var() calls
- Replaced --color-* prefixed variables with actual theme variables:
  - --color-bg-secondary → --surface
  - --color-border → --border
  - --color-text → --text-primary
  - --color-text-secondary → --text-secondary
  - --color-primary → --accent (via .btn-primary class)
- Updated success alert to use .alert-success class
- Updated buttons to use .btn-primary and .btn-secondary classes
- Fixed input backgrounds and text colors to use theme variables
- Replaced hardcoded error color with --danger variable

The page now properly respects the dark/light mode toggle.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 22:03:22 -07:00
Keith SmithandClaude Sonnet 4.5 b86db7e0e4 Remove task sharing references from documentation
Task sharing is not currently implemented and removed:
- Task Sharing feature from User Management section
- Shared Views feature description
- TaskShare database model documentation
- Updated description to remove "real-time collaboration"

The application currently supports multi-user authentication and
user management, but does not include task sharing functionality.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 18:23:22 -07:00
Keith SmithandClaude Sonnet 4.5 21f201c552 Enhance database configuration documentation
Add comprehensive instructions for all database backends:

SQLite:
- When to use (development, testing, single-user)
- When NOT to use (production with multiple users)
- DATABASE_URL configuration
- Pros and cons with detailed explanations
- Zero-configuration setup instructions

PostgreSQL:
- When to use (production, multiple users, advanced features)
- Complete installation and setup for Ubuntu/Debian and macOS
- Database and user creation with PostgreSQL 15+ schema permissions
- Connection pooling configuration
- Performance tuning recommendations

MySQL/MariaDB:
- When to use (existing MySQL infrastructure, replication)
- Installation for both MariaDB and MySQL
- Secure installation steps
- Alternative driver (PyMySQL) if mysqlclient fails
- Performance tuning configuration

Production Setup Guide updates:
- All three database options in Step 2
- Database driver installation for each backend
- .env examples for PostgreSQL, MySQL, and SQLite
- Clear warnings about SQLite in production

Each database section now includes installation, configuration,
performance tuning, and clear guidance on appropriate use cases.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 18:21:05 -07:00
Keith SmithandClaude Sonnet 4.5 f6dff9c459 Add comprehensive production deployment documentation
Add detailed production setup guide covering:
- Step-by-step deployment instructions for Ubuntu/Debian
- Email provider configuration (Gmail, SendGrid, AWS SES, Mailgun)
- Gunicorn and Celery systemd service configurations
- Nginx reverse proxy setup with SSL
- Complete production checklist
- Email verification and admin approval setup
- Troubleshooting guide
- Maintenance tasks and backup procedures
- Enhanced environment variables documentation
- Updated changelog with v1.1.0 features

The guide provides complete instructions for deploying the application
with the new email verification and admin approval system.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 18:16:56 -07:00
Keith SmithandClaude Sonnet 4.5 21d9d01885 Add email verification, admin approval, and user profile enhancements
Implement comprehensive email verification and admin approval system for user registration. Users must verify their email before logging in, and admins must approve new users before they can access the system.

Major features:
- Email verification with UUID tokens (24hr expiry, one-time use)
- Admin approval workflow via Django admin interface
- Custom authentication backend enforcing verification and approval
- Password change functionality for authenticated users
- Enhanced profile page with proper styling and theme support
- Collect first name, last name, and timezone during registration
- Profile link added to header navigation

Email notifications:
- Verification email sent after registration
- Admin notification when users need approval
- Approval notification sent to users

Security features:
- Cryptographically secure UUID tokens
- Token expiration and one-time use enforcement
- Email enumeration protection
- Custom JWT token validation for API access
- Existing users auto-approved via data migration

Templates added:
- Email templates (verification, approval, admin notification)
- Web templates (password change, verification pages)
- Enhanced profile page with dark/light mode support

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 18:13:38 -07:00
Keith SmithandClaude Sonnet 4.5 87afc4e80c Add comprehensive database configuration documentation
Updated README with detailed instructions for:
- SQLite3 (default/development) with pros/cons
- PostgreSQL (recommended for production) with full setup
- MariaDB/MySQL configuration and setup
- Database migration between backends

Each section includes:
- Installation instructions for Ubuntu/Debian and macOS
- Database and user creation commands
- Python driver installation
- Configuration examples (both .env and direct settings)
- Migration steps

Also added data export/import instructions for switching databases.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-18 17:58:29 -07:00
Keith SmithandClaude Sonnet 4.5 7f7ea3fef4 Add comprehensive README.md documentation
Added detailed documentation covering:
- Feature overview and capabilities
- Installation and quick start guide
- Configuration options and environment setup
- API documentation and endpoints
- Project structure explanation
- Docker deployment instructions
- Database model descriptions
- Development guidelines
- Production deployment checklist
- Mobile app integration details

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-18 17:44:10 -07:00
Keith SmithandClaude Sonnet 4.5 6a0b35c39c 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>
2025-12-18 17:41:29 -07:00