Files
TimeTracker/docker/start.sh
Dries Peeters 1865a5a1b8 feat: Enhance task management with modern UI/UX design and responsive layout
 Major UI/UX Improvements:
- Redesign task management interface with modern card-based layout
- Implement responsive design optimized for all devices
- Add hover effects, smooth transitions, and modern animations
- Integrate Bootstrap 5 with custom CSS variables and styling

🎨 Enhanced Task Templates:
- tasks/list.html: Modern header, quick stats, advanced filtering, card grid
- tasks/view.html: Comprehensive task overview with timeline and quick actions
- tasks/create.html: Enhanced form with helpful sidebar and validation
- tasks/edit.html: Improved editing interface with current task context
- tasks/my_tasks.html: Personalized task view with task type indicators

🔧 Technical Improvements:
- Fix CSRF token errors by removing Flask-WTF dependencies
- Convert templates to use regular HTML forms matching route implementation
- Ensure proper form validation and user experience
- Maintain all existing functionality while improving interface

📱 Mobile-First Design:
- Responsive grid layouts that stack properly on mobile
- Touch-friendly buttons and interactions
- Optimized spacing and typography for all screen sizes
- Consistent design system across all task views

📊 Enhanced Features:
- Quick stats overview showing task distribution by status
- Advanced filtering with search, status, priority, project, and assignee
- Priority-based color coding and visual indicators
- Task timeline visualization for better project tracking
- Improved form layouts with icons and helpful guidance

📚 Documentation Updates:
- Update README.md with comprehensive task management feature descriptions
- Add new screenshot section for enhanced task interface
- Document modern UI/UX improvements and technical features
- Include usage examples and workflow descriptions

�� User Experience:
- Clean, professional appearance suitable for business use
- Intuitive navigation and clear visual hierarchy
- Consistent styling with existing application design
- Improved accessibility and usability across all devices

This commit represents a significant enhancement to the task management system,
transforming it from a basic interface to a modern, professional-grade
solution that matches contemporary web application standards.
2025-08-29 14:14:08 +02:00

57 lines
1.7 KiB
Bash

#!/bin/bash
set -e
cd /app
export FLASK_APP=app
echo "=== Starting TimeTracker ==="
echo "Waiting for database to be ready..."
# Wait for Postgres to be ready
python - <<"PY"
import os
import time
import sys
from sqlalchemy import create_engine, text
from sqlalchemy.exc import OperationalError
url = os.getenv("DATABASE_URL", "")
if url.startswith("postgresql"):
for attempt in range(30):
try:
engine = create_engine(url, pool_pre_ping=True)
with engine.connect() as conn:
conn.execute(text("SELECT 1"))
print("Database connection established successfully")
break
except Exception as e:
print(f"Waiting for database... (attempt {attempt+1}/30): {e}")
time.sleep(2)
else:
print("Database not ready after waiting, exiting...")
sys.exit(1)
else:
print("No PostgreSQL database configured, skipping connection check")
PY
echo "Checking if database is initialized..."
# Always run the database initialization script to ensure proper schema
echo "Running database initialization script..."
python /app/docker/init-database.py
if [ $? -ne 0 ]; then
echo "Database initialization failed. Exiting to prevent infinite loop."
exit 1
fi
echo "Database initialization completed successfully"
# Also run the simple schema fix to ensure task_id column exists
echo "Running schema fix script..."
python /app/docker/fix-schema.py
if [ $? -ne 0 ]; then
echo "Schema fix failed. Exiting."
exit 1
fi
echo "Schema fix completed successfully"
echo "Starting application..."
exec gunicorn --bind 0.0.0.0:8080 --worker-class eventlet --workers 1 --timeout 120 "app:create_app()"