Skip to content

Releases: refactor-group/refactor-platform-rs

1.0.0-beta1

27 Jun 18:01
d1c444b
Compare
Choose a tag to compare

🚀 Refactor Platform v1.0.0-beta1

First Public Beta Release

We're excited to announce the first public beta release of the Refactor Coaching & Mentorship Platform! This Rust-based backend provides a comprehensive web API for coaching and mentoring software engineers, designed for professional coaches, informal mentors, and engineering leaders.

🎯 What's New

🏗️ Core Platform Architecture

  • Layered Architecture: Clean separation between web, domain, entity API, and data layers
  • Domain-Driven Design: Business logic centralized in the domain layer with clear entity relationships
  • Repository Pattern: Abstracted database operations through the entity API layer
  • RESTful API: Comprehensive HTTP API with OpenAPI documentation

👥 User Management & Authentication

  • Session-based Authentication: Secure cookie-based user sessions with axum-login
  • Role-based Access Control: Admin and user roles with granular permissions
  • User Profiles: Complete user management with profile updates and password changes
  • Organization Membership: Users can belong to multiple organizations

🏢 Organization Management

  • Multi-tenant Architecture: Support for multiple coaching organizations
  • Organization Administration: Create, update, and manage coaching organizations
  • User Assignment: Add and remove users from organizations
  • Hierarchical Permissions: Organization-scoped access controls

🤝 Coaching Relationship Management

  • Coach-Coachee Relationships: Formal relationship tracking between coaches and coachees
  • Relationship Lifecycle: Create, manage, and archive coaching relationships
  • Cross-organizational Support: Relationships can span multiple organizations

📝 Coaching Session Management

  • Session Tracking: Schedule and document coaching sessions
  • Session Notes: Rich text note-taking with TipTap integration for collaborative editing
  • Session History: Complete timeline of coaching interactions

🎯 Goal & Action Management

  • Overarching Goals: Long-term objectives for coaching relationships
  • Action Items: Specific, trackable commitments and next steps
  • Status Tracking: Monitor progress with customizable status workflows (Not Started, In Progress, Completed, Won't Do)
  • Due Date Management: Time-bound action items with deadline tracking

📋 Agreements & Documentation

  • Coaching Agreements: Formal agreements and contracts management
  • Document Lifecycle: Create, update, and manage coaching documentation
  • Structured Data: Consistent data models across all coaching artifacts

🔗 External Integrations

  • TipTap Cloud: Real-time collaborative document editing
  • JWT Token Generation: Secure token-based authentication for external services
  • API Versioning: Built-in support for API evolution and backward compatibility

🛠️ Technical Highlights

🦀 Modern Rust Stack

  • Axum Web Framework: High-performance async web server
  • SeaORM: Type-safe database operations with PostgreSQL
  • Tokio Runtime: Efficient async/await concurrency
  • UUID-based IDs: Globally unique identifiers for all entities

📊 Database & Migrations

  • PostgreSQL Backend: Robust relational database with full ACID compliance
  • Schema Migrations: Versioned database schema with rollback support
  • Connection Pooling: Efficient database connection management
  • SSL Support: Secure database connections for production environments

🚀 Production-Ready Deployment

  • Docker Containerization: Multi-stage builds for optimized container images
  • Docker Compose: Complete local development and production deployment setup
  • Health Checks: Built-in health monitoring and service dependencies
  • Environment Configuration: Comprehensive environment variable management

🔒 Security Features

  • HTTPS/TLS: Secure communication with SSL certificate management
  • CORS Configuration: Configurable cross-origin resource sharing
  • Input Validation: Comprehensive request validation and sanitization
  • Error Handling: Structured error responses with proper HTTP status codes

📚 API Documentation

  • OpenAPI/Swagger: Auto-generated API documentation with RapiDoc
  • Type Safety: Full TypeScript-compatible API schemas
  • Interactive Documentation: Built-in API explorer and testing interface

🔧 Development Experience

  • Hot Reload: Fast development iteration with cargo watch
  • Database Seeding: Test data generation for development
  • Comprehensive Logging: Structured logging with configurable levels
  • Debug Tools: Built-in debugging and diagnostic endpoints

🚀 Deployment & Infrastructure

☁️ Cloud-Ready Architecture

  • DigitalOcean Integration: Automated deployment to DigitalOcean infrastructure
  • Tailscale Networking: Secure private networking for deployments
  • GitHub Actions: Automated CI/CD with comprehensive testing
  • Multi-Environment Support: Separate staging and production environments

🐳 Container Orchestration

  • Multi-Service Setup: Coordinated deployment of backend, frontend, and database
  • Nginx Reverse Proxy: Load balancing and SSL termination
  • Database Migrations: Automated schema migrations on deployment
  • Environment Variables: Comprehensive configuration management

📖 Documentation

This release includes comprehensive documentation:

  • Architecture Diagrams: Visual system overview and component relationships
  • API Documentation: Complete endpoint reference with examples
  • Deployment Guides: Step-by-step deployment instructions
  • Development Setup: Local development environment configuration
  • Database Schema: Entity-relationship diagrams and migration guides

🧪 What's Beta About This Release

This beta release is feature-complete for core coaching workflows but may have:

  • Minor API changes before v1.0.0 stable
  • Additional configuration options and fine-tuning
  • Performance optimizations based on real-world usage
  • Extended test coverage and edge case handling

🔮 What's Next

Looking ahead to v1.0.0 stable:

  • Enhanced Reporting: Analytics and progress tracking dashboards
  • Notification System: Email and in-app notifications for important events
  • Advanced Permissions: Fine-grained access controls and custom roles
  • Foundational Security Enhancements: It's a new platform, so we'll be working to make it increasingly secure

🚀 Getting Started

Prerequisites

  • Docker & Docker Compose
  • PostgreSQL (local or remote)
  • Rust 1.70+ (for local development)

Quick Start

git clone https://github.com/refactor-group/refactor-platform-rs.git
cd refactor-platform-rs
docker-compose --env-file .env.local up --build

Visit http://localhost:4000/rapidoc for interactive API documentation.

Configuration

All configuration is managed through environment variables. See our Environment Variables Guide for complete configuration options.

🤝 Contributing

We welcome contributions! Please see our contributing guidelines and check out our good first issues.

📞 Support


Full Changelog: https://github.com/refactor-group/refactor-platform-rs/commits/1.0.0-beta1

This beta release represents months of development creating a robust, scalable platform for coaching and mentoring software engineers. We're excited to get feedback from the community as we work toward our stable 1.0.0 release!

Container release test

13 May 21:34
Compare
Choose a tag to compare

beta test 2 release test.

1.0-beta1-test1

10 May 00:23
Compare
Choose a tag to compare

Jim is Cool.

1.0-beta1-test0

09 May 23:52
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.0-rc1...1.0-beta1-test0

Release 1.0-rc1

16 Dec 20:28
1c75ae4
Compare
Choose a tag to compare
Release 1.0-rc1 Pre-release
Pre-release

First internal production Release

Features:

  • Email based session cookie authentication
  • Manage all International Coaching Federation entities:
    • Actions
    • Agreements
    • Overarching Goals
    • Coaching Sessions
    • Coaches
    • Coachees
  • Rich formatting coaching notes