How It Works
GitScrum Studio for Android is a native app built with React Native and Expo. It connects to the same GitScrum API used by the web application and VS Code extension, ensuring all platforms stay perfectly synchronized.
Navigation Architecture
The app uses a tab-based layout with a drawer for secondary actions.
Bottom Tabs
Two tabs are always visible at the bottom of the screen:
| Tab | What It Shows |
|---|---|
| Home | Projects list for the current workspace |
| Time Tracking | Active timer info, today's summary, and upcoming tasks |
Additional screens (Tasks, Project Detail) are accessed by tapping items in the lists — they push onto the navigation stack from the tabs.
Drawer Menu
Swipe from the left edge or tap the menu icon to open the drawer. It contains:
Quick Actions:
- Create Workspace
- Create Project
- Create Task
Tools:
- Notifications
- NoteVault
Preferences:
- Theme Selector
- Language Selector
- Timezone Selector
- Profile
- Workspace Selector
Data Flow
Authentication
When you sign in (via email, GitHub, Google, or Facebook), the app stores your authentication token securely using AsyncStorage. The token persists across sessions — you stay signed in until you explicitly sign out.
API Connection
Every screen fetches data from the GitScrum API. Projects, tasks, time entries, notes, and notifications all come from the same endpoints used by the web application. Changes you make on mobile are immediately visible on other platforms.
Real-Time Sync
The app maintains a WebSocket connection via Laravel Reverb (Pusher protocol). This enables live updates without manual refresh:
- Workspace events: Project creation and deletion appear instantly on the home screen
- Task events: Task movements, updates, creations, and deletions sync across all open sessions
- Timer events: Timer starts, stops, and time entries broadcast to all connected clients
- Notifications: New notifications arrive in real time
Pull-to-Refresh
Every list screen supports pull-to-refresh for manual data reload. Pull down from the top of any list to force a fresh fetch.
Infinite Scroll
Long lists (projects, tasks, notes, notifications) use pagination with infinite scroll. As you scroll down, additional pages load automatically.
Screen Architecture
The app follows a clean separation:
- Route files in
app/define the navigation structure - Screen components in
src/components/screens/contain the UI logic - Modals in
src/components/modals/handle overlays (timer stop, workflow picker, member selector) - Services in
src/services/manage all API communication - Hooks provide shared state (authentication, theme, translations, workspace data)
Theme System
The app includes 54 themes organized in 23 groups. Each theme defines 28 color tokens covering backgrounds, surfaces, text, accents, and semantic colors (success, warning, error).
The theme system supports both dark and light themes. A badge on each theme in the selector indicates whether it is a dark or light variant.
Themes apply globally and instantly — switching a theme updates every screen immediately with no restart required.
Language System
The app supports four languages: English, Português, Español, and Français. Language detection is automatic on first launch (based on your device language) with English as the fallback.
You can change the language at any time from the drawer. The preference is saved locally and synced with your GitScrum account.
Auto-Refresh
Panels refresh automatically via the WebSocket connection. When the app receives a real-time event, the relevant screen updates without any user action. For manual refresh, use pull-to-refresh on any list.
Pro Tips (Once You Are Comfortable)
- Quick project access: The home tab shows projects for your current workspace. Switch workspaces from the drawer to access different project sets instantly.
- Timer awareness: The Time Tracking tab always shows your active timer. Use it as a quick check to see what you are working on.
- Drawer shortcuts: The drawer's Create Task shortcut lets you capture tasks quickly without navigating to a specific project first.
Permissions
The app respects your GitScrum account permissions:
- Agency Owners and Managers: Full access to all features, project settings, and team data
- Developers: Can manage tasks, log time, and use collaboration tools
- Clients: View access only (if granted project access)
If a feature appears disabled or a screen shows limited data, check your project role in the GitScrum web application.
How to Report a Problem or Request a Feature
If the app behaves unexpectedly or you have suggestions for improvements, submit feedback through GitScrum Studio.
In the Sidebar of the web application, click on Support Tickets and open a ticket describing your experience.