Releases: refactor-group/refactor-platform-rs
1.0.0-beta1
🚀 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
- Documentation: docs/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
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
beta test 2 release test.
1.0-beta1-test1
Jim is Cool.
1.0-beta1-test0
What's Changed
- scope coaching_relationships query by user_id by @calebbourg in #93
- Continued authz by @calebbourg in #81
- Create New Coaching Sessions by @calebbourg in #95
- Create tip tap documents by @calebbourg in #97
- Standardize coaching session date by @calebbourg in #98
- Remove timezone from coaching_sessions by @calebbourg in #99
- Add /jwt/generate_collab_token endpoint and JWT generation by @calebbourg in #100
- Add missing TipTap collab claims by @calebbourg in #101
- Refactor parameter typing by @calebbourg in #102
- More refactoring by @calebbourg in #103
- Reduce the number of seeded coaching sessions by @jhodapp in #104
- Add a partial update User endpoint by @calebbourg in #108
- Update Coaching Sessions by @calebbourg in #109
- Slugify organization names by @calebbourg in #107
- Change logout to be a delete action by @jhodapp in #110
- 88 feature add member management page by @calebbourg in #111
- 88 feature add member management page create by @calebbourg in #113
- 88 feature add member management page delete by @calebbourg in #114
- Refactor the backend API to match what the frontend already correctly does for logout by @jhodapp in #116
- Delete coaching sessions by @calebbourg in #115
- 82 feature request suggestion create GitHub actions workflow for automating the build and deployments for feature branches by @lmcdonough in #87
- Update to latest version of openssl and openssl-sys to patch moderate… by @jhodapp in #119
- Update users by @calebbourg in #117
- Bump tokio from 1.44.1 to 1.44.2 by @dependabot in #128
Full Changelog: 1.0-rc1...1.0-beta1-test0
Release 1.0-rc1
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