clearsky/
│
├── backend/ # Python backend
│ ├── app/ # Main application package
│ │ ├── __init__.py # App initialization
│ │ ├── config.py # Configuration management
│ │ ├── routes/ # API endpoints
│ │ │ ├── __init__.py
│ │ │ ├── auth.py # Authentication routes
│ │ │ ├── trends.py # Trend-related routes
│ │ │ └── users.py # User-related routes
│ │ ├── services/ # Business logic
│ │ │ ├── __init__.py
│ │ │ ├── bluesky_service.py # BlueSky API integration
│ │ │ ├── trend_service.py # Trend detection and processing
│ │ │ ├── ai_service.py # AI text transformation
│ │ │ └── push_service.py # Push notification service
│ │ ├── models/ # Database models
│ │ │ ├── __init__.py
│ │ │ ├── user.py # User model
│ │ │ └── content.py # Content model
│ │ └── utils/ # Utility functions
│ │ ├── __init__.py
│ │ └── helpers.py # Helper functions
│ ├── tests/ # Test suite
│ │ ├── __init__.py
│ │ ├── test_routes.py
│ │ └── test_services.py
│ ├── .env # Environment variables
│ ├── requirements.txt # Python dependencies
│ └── run.py # Application entry point
│
├── mobile/ # React Native mobile app
│ ├── android/ # Android native code
│ │ ├── app/ # Android app module
│ │ └── gradle/ # Gradle configuration
│ ├── ios/ # iOS native code
│ │ ├── ClearSky/ # iOS app module
│ │ └── Pods/ # CocoaPods dependencies
│ ├── src/ # JavaScript/TypeScript source
│ │ ├── components/ # Reusable components
│ │ │ ├── Header.tsx
│ │ │ ├── TrendCard.tsx
│ │ │ ├── ContentView.tsx
│ │ │ └── UserProfile.tsx
│ │ ├── screens/ # Screen components
│ │ │ ├── HomeScreen.tsx
│ │ │ ├── TrendingScreen.tsx
│ │ │ ├── DetailScreen.tsx
│ │ │ └── ProfileScreen.tsx
│ │ ├── navigation/ # Navigation configuration
│ │ │ ├── AppNavigator.tsx
│ │ │ ├── TabNavigator.tsx
│ │ │ └── AuthNavigator.tsx
│ │ ├── services/ # API and business logic
│ │ │ ├── api.ts
│ │ │ ├── auth.ts
│ │ │ └── storage.ts
│ │ ├── store/ # Redux/state management
│ │ │ ├── index.ts
│ │ │ ├── trends.ts
│ │ │ └── user.ts
│ │ ├── hooks/ # Custom React hooks
│ │ │ ├── useApi.ts
│ │ │ └── useOfflineMode.ts
│ │ ├── styles/ # Theme and styles
│ │ │ ├── theme.ts
│ │ │ └── globalStyles.ts
│ │ ├── utils/ # Utility functions
│ │ │ ├── formatting.ts
│ │ │ └── permissions.ts
│ │ ├── App.tsx # Main application component
│ │ └── index.tsx # Entry point
│ ├── assets/ # Static assets
│ │ ├── images/
│ │ ├── fonts/
│ │ └── animations/
│ ├── package.json # NPM dependencies
│ ├── metro.config.js # Metro bundler configuration
│ ├── babel.config.js # Babel configuration
│ └── tsconfig.json # TypeScript configuration
│
├── database/ # Database scripts
│ ├── migrations/ # Database migrations
│ └── seeds/ # Seed data
│
├── docs/ # Documentation
│ ├── api.md # API documentation
│ └── setup.md # Setup guide
│
├── infrastructure/ # Cloud infrastructure
│ ├── terraform/ # Infrastructure as code
│ ├── serverless.yml # Serverless configuration
│ └── monitoring/ # Monitoring setup
│
├── .github/ # GitHub workflows
│ └── workflows/ # CI/CD pipelines
│ ├── backend-ci.yml # Backend CI pipeline
│ └── mobile-ci.yml # Mobile CI pipeline
│
├── .gitignore # Git ignore file
├── README.md # Project README
└── LICENSE # License file
-
BlueSky Service
- Handles authentication with BlueSky API
- Fetches trending posts and topics
- Manages interaction with BlueSky content
-
Trend Service
- Analyzes and categorizes trending content
- Implements algorithms for trend detection
- Manages content storage and retrieval
-
AI Service
- Transforms formal content into conversational style
- Summarizes lengthy posts for mobile display
- Personalizes content based on user preferences
-
Push Service
- Manages user device tokens
- Schedules and sends push notifications
- Handles notification preferences
-
TrendCard
- Displays individual trending topics with conversational summary
- Optimized for touch interaction
- Supports swipe gestures and haptic feedback
- Shows relevant metadata with visual indicators
-
ContentView
- Presents full content with mobile-optimized reading experience
- Supports offline reading mode
- Includes share functionality to other apps
- Features dynamic font sizing for accessibility
-
Navigation System
- Tab-based primary navigation
- Stack-based screen navigation
- Drawer for additional options
- Deep linking support for notifications
-
Offline Manager
- Handles background data synchronization
- Manages content caching for offline use
- Queues user actions for sync when connectivity returns
- Provides clear offline state indicators
-
User Model
- User authentication information
- Profile preferences
- Device information for push notifications
- Activity history
-
Content Model
- Processed trending topics
- Original and transformed content
- Mobile-optimized content snippets
- Media assets for visual display
-
Biometric Authentication
- Face ID / Touch ID integration
- Secure credential storage
- Quick app resume
-
Push Notification System
- Token registration and management
- Rich notification support
- Notification grouping and categories
- Silent updates for content refresh
-
App Widgets
- Home screen widgets for quick content access
- Widget configuration options
- Regular background updates
-
Native Integrations
- Share extensions
- Spotlight search indexing
- Background app refresh
- App shortcuts/quick actions