8.2 KiB
Sojorn Documentation Hub
Overview
This directory contains comprehensive documentation for the Sojorn platform, covering all aspects of development, deployment, and maintenance.
Document Structure
📚 Core Documentation
E2EE_COMPREHENSIVE_GUIDE.md
Complete end-to-end encryption implementation guide, covering the evolution from simple stateless encryption to production-ready X3DH system.
FCM_COMPREHENSIVE_GUIDE.md
Comprehensive Firebase Cloud Messaging setup and troubleshooting guide for both Web and Android platforms.
BACKEND_MIGRATION_COMPREHENSIVE.md
Complete migration documentation from Supabase to self-hosted Golang backend, including planning, execution, and validation.
TROUBLESHOOTING_COMPREHENSIVE.md
Comprehensive troubleshooting guide covering authentication, notifications, E2EE chat, backend services, and deployment issues.
DEVELOPMENT_COMPREHENSIVE.md
Complete development and architecture guide, covering design patterns, code organization, testing strategies, and performance optimization.
DEPLOYMENT_COMPREHENSIVE.md
Comprehensive deployment and operations guide, covering infrastructure setup, deployment procedures, monitoring, and maintenance.
📋 Organized Documentation
Deployment Guides (deployment/)
QUICK_START.md- Quick start guide for new developersSETUP.md- Complete environment setupVPS_SETUP_GUIDE.md- Server infrastructure setupSEEDING_SETUP.md- Database seeding and test dataR2_CUSTOM_DOMAIN_SETUP.md- Cloudflare R2 configurationDEPLOYMENT.md- Deployment proceduresDEPLOYMENT_STEPS.md- Step-by-step deployment
Feature Documentation (features/)
IMAGE_UPLOAD_IMPLEMENTATION.md- Image upload systemnotifications-troubleshooting.md- Notification system issuesposting-and-appreciate-fix.md- Post interaction fixes
Design & Architecture (design/)
DESIGN_SYSTEM.md- Visual design system and UI guidelinesCLIENT_README.md- Flutter client architecturedatabase_architecture.md- Database schema and design
Reference Materials (reference/)
PROJECT_STATUS.md- Current project status and roadmapNEXT_STEPS.md- Planned features and improvementsSUMMARY.md- Project overview and summary
Platform Philosophy (philosophy/)
CORE_VALUES.md- Core platform valuesUX_GUIDE.md- UX design principlesFOURTEEN_PRECEPTS.md- Platform preceptsHOW_SHARP_SPEECH_STOPS.md- Communication guidelinesSEEDING_PHILOSOPHY.md- Content seeding philosophy
Troubleshooting Archive (troubleshooting/)
JWT_401_FIX_2026-01-11.md- JWT authentication fixesJWT_ERROR_RESOLUTION_2025-12-30.md- JWT error resolutionTROUBLESHOOTING_JWT_2025-12-30.md- JWT troubleshootingimage-upload-fix-2025-01-08.md- Image upload fixessearch_function_debugging.md- Search debuggingtest_image_upload_2025-01-05.md- Image upload testing
Archive Materials (archive/)
ARCHITECTURE.md- Original architecture documentationEDGE_FUNCTIONS.md- Edge functions referenceDEPLOY_EDGE_FUNCTIONS.md- Edge function deployment- Various logs and historical files
📋 Historical Documentation (Legacy)
Migration Records
BACKEND_MIGRATION_RUNBOOK.md- Original migration runbookMIGRATION_PLAN.md- Initial migration planningMIGRATION_VALIDATION_REPORT.md- Final validation results
FCM Implementation
FCM_DEPLOYMENT.md- Original deployment guideFCM_SETUP_GUIDE.md- Initial setup instructionsANDROID_FCM_TROUBLESHOOTING.md- Android-specific issues
E2EE Development
E2EE_IMPLEMENTATION_COMPLETE.md- Original implementation notes
Platform Features
CHAT_DELETE_DEPLOYMENT.md- Chat feature deploymentMEDIA_EDITOR_MIGRATION.md- Media editor migrationPRO_VIDEO_EDITOR_CONFIG.md- Video editor configuration
Reference Materials
SUPABASE_REMOVAL_INTEL.md- Supabase cleanup informationLINKS_FIX.md- Link resolution fixesLEGACY_README.md- Historical project information
Quick Reference
🔧 Development Setup
- Backend: Go with Gin framework, PostgreSQL database
- Frontend: Flutter with Riverpod state management
- Infrastructure: Ubuntu VPS with Nginx reverse proxy
- Database: PostgreSQL with PostGIS for location features
🔐 Security Features
- E2EE Chat: X3DH key agreement with AES-GCM encryption
- Authentication: JWT-based auth with refresh tokens
- Push Notifications: FCM for Web and Android
- Data Protection: Encrypted storage and secure key management
🚀 Deployment Architecture
Internet
↓
Nginx (SSL Termination, Static Files)
↓
Go Backend (API, Business Logic)
↓
PostgreSQL (Data, PostGIS)
↓
File System (Uploads) / Cloudflare R2
📱 Platform Support
- Web: Chrome, Firefox, Safari, Edge
- Mobile: Android (iOS planned)
- Notifications: Web push via FCM, Android native
- Storage: Local uploads + Cloudflare R2
Current Status
✅ Production Ready
- Backend API with full feature parity
- E2EE chat system (X3DH implementation)
- FCM notifications (Web + Android)
- Media upload and serving
- User authentication and profiles
- Post feed and search functionality
🚧 In Development
- iOS mobile application
- Advanced E2EE features (key recovery)
- Real-time collaboration features
- Advanced analytics and monitoring
📋 Planned Features
- Multi-device E2EE sync
- Advanced moderation tools
- Enhanced privacy controls
- Performance optimizations
Getting Started
For Developers
- Clone Repository:
git clone <repo-url> - Backend Setup: Follow
BACKEND_MIGRATION_COMPREHENSIVE.md - Frontend Setup: Standard Flutter development environment
- Database: PostgreSQL with required extensions
- Configuration: Copy
.env.exampleto.envand configure
For System Administrators
- Server Setup: Ubuntu 22.04 LTS recommended
- Dependencies: PostgreSQL, Nginx, Certbot
- Deployment: Use provided deployment scripts
- Monitoring: Set up logging and alerting
- Maintenance: Follow troubleshooting guide for issues
For Security Review
- E2EE Implementation: Review
E2EE_COMPREHENSIVE_GUIDE.md - Authentication: JWT implementation and token management
- Data Protection: Encryption at rest and in transit
- Access Control: User permissions and data isolation
Support & Maintenance
Regular Tasks
- Weekly: Review logs and performance metrics
- Monthly: Update dependencies and security patches
- Quarterly: Backup verification and disaster recovery testing
- Annually: Security audit and architecture review
Emergency Procedures
- Service Outage: Follow troubleshooting guide
- Security Incident: Immediate investigation and containment
- Data Loss: Restore from recent backups
- Performance Issues: Monitor and scale resources
Contact Information
- Technical Issues: Refer to troubleshooting guide first
- Security Concerns: Immediate escalation required
- Feature Requests: Submit through project management system
- Documentation Updates: Pull requests welcome
Document Maintenance
Version Control
- All documentation is version-controlled with the main repository
- Major updates should reference specific code versions
- Historical documents preserved for reference
Update Process
- Review: Regular review for accuracy and completeness
- Update: Modify as features and architecture evolve
- Test: Verify instructions and commands work correctly
- Version: Update version numbers and dates
Contribution Guidelines
- Use clear, concise language
- Include code examples and commands
- Add troubleshooting sections for complex features
- Maintain consistent formatting and structure
Last Updated: January 30, 2026 Documentation Version: 1.0 Platform Version: 2.0 (Post-Migration) Next Review: February 15, 2026