21 Commits

Author SHA1 Message Date
Automated Action
646ea55106 Update README with comprehensive due date API documentation
Added detailed documentation for new due date functionality:
- Updated features list to include due date capabilities
- Added specialized due date endpoints documentation
- Documented query parameters for filtering and sorting
- Added usage examples for all due date operations
- Updated project structure to reflect current state
- Added timezone support documentation
- Included complex filtering examples
2025-06-19 13:23:54 +00:00
Automated Action
aa7cc98275 Implement comprehensive due date API endpoints with filtering and sorting
Added comprehensive due date functionality to the FastAPI todo application:

API Enhancements:
- Updated main /todos endpoint with due date query parameters (overdue, due_soon, due_date_from, due_date_to)
- Added sort_by parameter supporting "due_date" and "created_at" options
- Enhanced existing endpoints to handle due_date in responses

New Specialized Endpoints:
- GET /api/v1/todos/overdue - Get all overdue todos with pagination
- GET /api/v1/todos/due-soon - Get todos due within next N days (default 7)
- GET /api/v1/todos/due-today - Get todos due today with date range filtering

Technical Improvements:
- Added comprehensive OpenAPI documentation with parameter descriptions and examples
- Implemented proper date validation and timezone handling
- Added date utility functions for consistent date operations
- Enhanced error handling for invalid date parameters
- Added proper FastAPI Query parameter validation with regex patterns

Migration & Schema Updates:
- Created migration 007 to add due_date column with timezone support
- Added database index on due_date for optimal query performance
- Updated Todo model with computed properties (is_overdue, days_until_due, is_due_soon)
- Enhanced schemas with due_date field validation and Field descriptions

All endpoints follow existing API patterns with pagination, filtering, and comprehensive documentation.
2025-06-19 13:22:25 +00:00
Automated Action
bd4441f91f Update README with due date functionality documentation
Added due date field documentation to Todo model and included usage examples
for creating todos with due dates and timezone handling.
2025-06-19 13:21:12 +00:00
Automated Action
2519513d99 Implement comprehensive due date CRUD operations and filtering
- Add enhanced due date filtering to get_todos function with support for "today", "this_week", "next_week"
- Add overdue filtering parameter with timezone-aware comparisons
- Add sorting by due_date with null values at end
- Add get_overdue_todos function for retrieving overdue todos
- Add get_todos_due_soon function for todos due within next N days (default 7)
- Add get_todos_by_date_range function for custom date range filtering
- Create comprehensive date utilities in app/utils/date_utils.py with timezone support
- Add project_id and tag_ids support to TodoCreate and TodoUpdate schemas
- Include efficient database indexing for due_date queries
- Use SQLAlchemy timezone-aware datetime filtering throughout
- Add proper overdue detection logic with timezone handling
2025-06-19 13:20:58 +00:00
Automated Action
66410bdab5 Implement comprehensive due date functionality for todos
Added due_date field to TodoBase, TodoCreate, TodoUpdate schemas with proper validation
and timezone handling. Included computed fields is_overdue and days_until_due
for enhanced todo management capabilities.
2025-06-19 13:20:33 +00:00
Automated Action
7251fea2ba Add due date functionality to Todo model
- Add due_date field as nullable DateTime with timezone support
- Add is_overdue property to check if task is overdue
- Add days_until_due property for time calculations
- Create migration 007 to add due_date column with index
- Maintain backward compatibility with nullable due_date
2025-06-19 13:18:24 +00:00
Automated Action
ab8e9a826d Add comprehensive Spanish README (README-es.md) 2025-06-19 00:18:08 +00:00
Automated Action
4aa24a1411 Integrate organization features and resolve migration conflicts
- Add missing migration files for tags (005) and subtasks (006)
- Update model imports to include Tag and todo_tags association
- Integrate tags router into API endpoints
- Fix migration sequence and dependencies
- Format all code with Ruff
- Complete integration of all organization features
2025-06-19 00:13:15 +00:00
Automated Action
4f7baf8e68 Implement comprehensive Projects system for todo management
- Add Project model with status management (active/archived)
- Create ProjectCreate, ProjectUpdate, ProjectWithTodos schemas
- Implement full CRUD operations for projects with pagination
- Add project filtering by status and search functionality
- Add project_id foreign key to Todo model with relationship
- Update Todo API to support project filtering
- Create archive project endpoint
- Add comprehensive project endpoints:
  - GET /projects - list with filtering
  - POST /projects - create new project
  - GET /projects/{id} - get project with todos
  - PUT /projects/{id} - update project
  - DELETE /projects/{id} - delete project
  - GET /projects/{id}/todos - get project todos
  - PUT /projects/{id}/archive - archive project
- Update README with Projects system documentation
- Add migration for projects table and project_id field
- Clean up imports and remove obsolete tag references

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 00:11:25 +00:00
Automated Action
cf0d0e45b0 Update README with Categories system documentation
- Document category management features
- Update API endpoints to include categories
- Revise project structure to reflect current implementation
- Add usage examples for categories and filtering
- Remove references to unimplemented features
- Update models documentation for Todo and Category
2025-06-19 00:09:01 +00:00
Automated Action
6432d4a805 Implement comprehensive Categories system for todo management
- Add Category model with id, name, description, color fields
- Update Todo model with category_id foreign key relationship
- Create Category CRUD operations with full validation
- Add Category API endpoints with complete REST functionality
- Update Todo API and CRUD to support category filtering
- Create Alembic migration to add categories table
- Clean up code structure and remove unused references
- Update all import files and maintain proper relationships

Categories system enables better todo organization and filtering capabilities.
2025-06-19 00:06:10 +00:00
Automated Action
fb7c8942ae Fix Todo schema to include tags relationship
- Add tags field to Todo schema for proper serialization
- Update forward references to include Tag schema
- Ensure Todo schema includes project_id field for completeness
2025-06-19 00:05:29 +00:00
Automated Action
e60d5d5b85 Implement comprehensive Tags system for todos
- Add Tag model with id, name, color, and created_at fields
- Create TodoTag association table for many-to-many relationship
- Update Todo model to include tags relationship
- Add comprehensive Tag schemas with validation
- Update Todo schemas to support tag operations via tag_ids
- Implement full Tag CRUD operations in crud/tag.py
- Create complete Tag API with all CRUD endpoints
- Add tag-todo association endpoints (add/remove tags from todos)
- Create database migration for tags and todo_tags tables
- Update all import files to include new tag components
- Integrate tag handling in todo create/update operations
- Add API routes for /tags with full CRUD functionality

The tags system allows users to categorize and organize todos
with colored labels that can be assigned and managed independently.
2025-06-19 00:05:02 +00:00
Automated Action
d993db2f17 Implement subtasks functionality for todo system
- Add parent_id field to Todo model with self-referential foreign key
- Add parent/children relationships and is_subtask property
- Update TodoCreate/TodoUpdate schemas to include parent_id
- Add subtasks list to Todo schema and create SubtaskCreate schema
- Enhance get_todos CRUD function with parent_id filtering
- Add subtask-specific CRUD functions: get_subtasks, create_subtask, move_subtask
- Add API endpoints for subtask management
- Create migration for adding parent_id column
- Update imports and fix circular dependencies
- Ensure proper cycle prevention and validation

Features added:
- GET /todos/{todo_id}/subtasks - Get all subtasks for a todo
- POST /todos/{todo_id}/subtasks - Create a new subtask
- PUT /subtasks/{subtask_id}/move - Move subtask or convert to main todo
- Query parameter parent_id for filtering by parent
- Query parameter include_subtasks for excluding subtasks from main list
2025-06-19 00:04:18 +00:00
Automated Action
99faaaeaf8 Add comprehensive pull request template 2025-06-18 23:54:16 +00:00
Automated Action
6a42d0e126 Add MIT License 2025-06-18 23:53:20 +00:00
Automated Action
afd59452e1 Add comprehensive CONTRIBUTING.md guide 2025-06-18 01:17:41 +00:00
Automated Action
8aba38c8f5 Add .env.example file with configuration template 2025-06-18 01:10:04 +00:00
Automated Action
19ab35d8f5 Add priority levels, enhanced pagination, and search/filtering
- Add Priority enum (low, medium, high) to Todo model with default medium
- Create migration to add priority field to existing todos table
- Enhance pagination with proper metadata (page, total, has_next, has_prev)
- Add search functionality across title and description fields
- Add filtering by completion status and priority level
- Update API endpoints with query parameters for filtering and search
- Add TodoListResponse schema for structured pagination response
- Format code with Ruff
2025-06-18 01:01:29 +00:00
Automated Action
2c24afcb6c Create simple FastAPI todo application
- Add project structure with FastAPI, SQLAlchemy, and Alembic
- Implement Todo model with CRUD operations
- Add REST API endpoints for todo management
- Configure SQLite database with migrations
- Include health check and API documentation endpoints
- Add CORS middleware for all origins
- Format code with Ruff
2025-06-18 00:30:05 +00:00
Automated Action
99353d86fc Initial commit from template 2025-06-18 00:24:50 +00:00