Skip to content

Latest commit

 

History

History
195 lines (175 loc) · 7.7 KB

File metadata and controls

195 lines (175 loc) · 7.7 KB

ClearSky Mobile Project Structure

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

Core Components Description

Backend Services

  1. BlueSky Service

    • Handles authentication with BlueSky API
    • Fetches trending posts and topics
    • Manages interaction with BlueSky content
  2. Trend Service

    • Analyzes and categorizes trending content
    • Implements algorithms for trend detection
    • Manages content storage and retrieval
  3. AI Service

    • Transforms formal content into conversational style
    • Summarizes lengthy posts for mobile display
    • Personalizes content based on user preferences
  4. Push Service

    • Manages user device tokens
    • Schedules and sends push notifications
    • Handles notification preferences

Mobile Components

  1. TrendCard

    • Displays individual trending topics with conversational summary
    • Optimized for touch interaction
    • Supports swipe gestures and haptic feedback
    • Shows relevant metadata with visual indicators
  2. 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
  3. Navigation System

    • Tab-based primary navigation
    • Stack-based screen navigation
    • Drawer for additional options
    • Deep linking support for notifications
  4. 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

Database Models

  1. User Model

    • User authentication information
    • Profile preferences
    • Device information for push notifications
    • Activity history
  2. Content Model

    • Processed trending topics
    • Original and transformed content
    • Mobile-optimized content snippets
    • Media assets for visual display

Mobile-Specific Features

  1. Biometric Authentication

    • Face ID / Touch ID integration
    • Secure credential storage
    • Quick app resume
  2. Push Notification System

    • Token registration and management
    • Rich notification support
    • Notification grouping and categories
    • Silent updates for content refresh
  3. App Widgets

    • Home screen widgets for quick content access
    • Widget configuration options
    • Regular background updates
  4. Native Integrations

    • Share extensions
    • Spotlight search indexing
    • Background app refresh
    • App shortcuts/quick actions