Skip to content

bivex/PlaneCaldav

Repository files navigation

CalPlaneBot - Plane CalDAV Integration & Task Synchronization

CalPlaneBot - Plane to CalDAV Task Sync & Calendar Integration

πŸš€ CalPlaneBot - Advanced Plane ↔ CalDAV Integration Service for Task Management

Automatically synchronize Plane project management tasks with CalDAV-compatible calendars (Nextcloud, BaΓ―kal, Radicale). Real-time bidirectional task sync, webhook integration, and calendar management for seamless project planning.

✨ Key Features & Capabilities

πŸ”„ Automated Task Synchronization

  • Real-time bidirectional task sync between Plane and CalDAV calendars
  • Automatic task creation, updates, and status synchronization
  • Intelligent conflict resolution and data consistency

πŸ”” Advanced Webhook Integration

  • Instant webhook-triggered updates from Plane API
  • Event-driven synchronization for immediate task changes
  • Reliable webhook payload processing and error handling

πŸ“… Smart Calendar Management

  • Automatic calendar creation and organization per Plane project
  • Hierarchical calendar structure with project categorization
  • Calendar permissions and access control management

🏷️ Rich Task Metadata Support

  • Complete label, priority, and assignee information preservation
  • Custom field mapping between Plane and calendar events
  • Task description, due dates, and status indicators

⏰ Flexible Scheduling Engine

  • Configurable synchronization intervals and batch processing
  • Background job scheduling with retry mechanisms
  • Time-zone aware task and calendar management

🐳 Production-Ready Deployment

  • Docker containerization with optimized images
  • Docker Compose orchestration for multi-service setup
  • Environment-based configuration and secrets management

πŸ“‹ System Requirements & Prerequisites

πŸ”§ Technical Requirements

  • Python: Version 3.11 or higher for optimal performance
  • Plane Access: Valid API credentials for Plane.so instance
  • CalDAV Server: Compatible CalDAV server (Nextcloud Calendar, BaΓ―kal, Radicale, or any CalDAV-compliant calendar server)
  • Authentication: Digest or Basic authentication support for secure CalDAV connections

🌐 Supported Platforms

  • Operating Systems: Linux, macOS, Windows (via Docker)
  • Container Runtime: Docker Engine 20.10+ for containerized deployment
  • Database: SQLite (default) or PostgreSQL for production deployments

πŸ§ͺ Testing, Validation & Diagnostics

πŸ” CalDAV Connection Testing & Validation

Comprehensive testing suite for CalDAV server connectivity and authentication:

# Automated testing with environment configuration
./test-caldav.sh

# Direct Python authentication testing
python test_caldav_auth.py

# Manual testing with custom parameters
./test-caldav.sh digest https://your-caldav-server.com/caldav username password

Test Coverage Includes:

  • βœ… Authentication Validation: Digest/Basic auth testing and credential verification
  • βœ… Server Compatibility: CalDAV protocol compliance and feature detection
  • βœ… Resource Access: Principal discovery and calendar home set validation
  • βœ… Permissions Testing: Read/write access verification for calendar operations
  • βœ… SSL/TLS Security: Certificate validation and secure connection testing
  • βœ… Performance Metrics: Connection timeouts and response time monitoring

πŸ”§ System Health Diagnostics

Complete system health check and troubleshooting toolkit:

# Full system diagnostic suite
docker exec calplanebot_calplanebot_1 python /app/manage.py diagnostics

Expected Diagnostic Output:

============================================================
  Comprehensive System Diagnostic Report
============================================================
CalDAV Connection: βœ“ OK - Server responding, authentication successful
Plane API Access:  βœ“ OK - API endpoints accessible, token valid
Database Status:   βœ“ OK - Schema current, migrations applied
Service Health:    βœ“ OK - All services running, background jobs active
Webhook Processing: βœ“ OK - Event queue processing, no backlog

βœ“ All systems operational - Ready for production use!

πŸ“Š Performance Testing & Stress Testing

# Run comprehensive performance benchmarks
python -m pytest tests/test_stress.py -v

# Edge case and error handling validation
python -m pytest tests/test_edge_cases.py -v

πŸš€ Quick Start Guide - Get Plane CalDAV Sync Running in Minutes

🐳 Docker Deployment (Recommended for Production)

Fast, secure, and scalable containerized deployment:

# Clone the Plane CalDAV integration repository
git clone <repository-url>
cd CalPlaneBot

# Configure environment variables for Plane and CalDAV
cp env.example .env
# Edit .env with your Plane API credentials and CalDAV server details

# Launch the synchronization service
docker-compose up -d

Service Access: Available at http://localhost:8765 with full API documentation at /docs

πŸ”§ Manual Installation & Development Setup

For development, testing, or custom deployments:

# Install Python dependencies and requirements
pip install -r requirements.txt

# Configure environment variables
cp env.example .env
# Edit .env file with your configuration settings

# Start the FastAPI application server
python -m uvicorn app.main:app --host 0.0.0.0 --port 8765 --reload

⚑ Configuration Checklist

Before starting, ensure you have:

  • βœ… Plane API Token: Generated from your Plane workspace settings
  • βœ… CalDAV Credentials: Username/password for your CalDAV server
  • βœ… CalDAV URL: Full URL to your calendar server endpoint
  • βœ… Environment Variables: Properly configured .env file
  • βœ… Network Access: Service can reach both Plane API and CalDAV server

πŸ“– Complete Documentation & Resources

Comprehensive documentation suite covering all aspects of Plane CalDAV integration:

πŸ‘₯ User Documentation & Guides

πŸ‘¨β€πŸ’» Developer Resources & Technical Documentation

πŸ“š Documentation Sections

πŸ”— Quick Access Links & References

🀝 Contributing to Plane CalDAV Integration

We welcome contributions to improve the Plane to CalDAV synchronization service! Here's how to get involved:

πŸš€ Development Workflow

  1. Fork the CalPlaneBot repository on GitHub
  2. Clone your fork locally: git clone https://github.com/your-username/CalPlaneBot.git
  3. Create a feature branch: git checkout -b feature/amazing-plane-caldav-enhancement
  4. Develop and test your changes following our testing guidelines
  5. Commit with descriptive messages: git commit -m 'Add amazing CalDAV sync enhancement'
  6. Push to your branch: git push origin feature/amazing-plane-caldav-enhancement
  7. Submit a Pull Request with detailed description of your changes

πŸ§ͺ Testing Requirements

  • All new features must include comprehensive test coverage
  • Run the full test suite: ./run_tests.sh
  • Ensure all CalDAV and Plane API integrations are properly tested
  • Docker container builds must pass validation

πŸ“ Contribution Areas

  • Core Synchronization Logic: Improve task sync algorithms and conflict resolution
  • CalDAV Protocol Support: Add support for additional CalDAV servers and features
  • Plane API Integration: Enhance webhook handling and API coverage
  • Documentation: Improve user guides and technical documentation
  • Performance Optimization: Database queries, caching, and background job processing

πŸ“„ License & Legal Information

This project is licensed under the MIT License - see the LICENSE file for complete licensing details. The MIT license allows for free use, modification, and distribution of this Plane CalDAV integration service.

πŸ“ž Support & Community Resources

πŸ†˜ Getting Help

  • πŸ“‹ GitHub Issues: Report bugs, request features, and ask questions at Issues
  • πŸ“– Documentation: Comprehensive guides in the docs/ directory
  • πŸ”§ API Docs: Interactive API documentation at /docs when service is running
  • πŸ› Troubleshooting: Check the Troubleshooting Guide for common issues

🌟 Community & Resources

  • πŸ“š Documentation Hub: Complete user and developer documentation
  • πŸ” Health Monitoring: Service health endpoint at /health for status checks
  • πŸ“Š System Diagnostics: Built-in diagnostic tools for troubleshooting
  • 🐳 Docker Support: Containerized deployment for easy setup and scaling

πŸ“ˆ Project Status & Roadmap

  • Current Version: Beta release with production-ready features
  • Production Ready: Recommended for development and testing environments
  • Roadmap: Enhanced webhook reliability, additional CalDAV server support, advanced filtering options

⚠️ Beta Software Notice: This is a beta version of the Plane CalDAV synchronization service. While thoroughly tested, we recommend initial deployment in development or staging environments before production use. Please report any issues encountered during testing.

About

πŸ“… PLANE + CALDAV = CALENDAR MAGIC. Sync your projects with your life. Schedule perfection. πŸ—“οΈ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages