{"id":49491969,"url":"https://github.com/igitea/igitea","last_synced_at":"2026-05-01T07:00:49.457Z","repository":{"id":353744826,"uuid":"1219055719","full_name":"igitea/igitea","owner":"igitea","description":"multiplatform app client for gitea ","archived":false,"fork":false,"pushed_at":"2026-04-25T09:43:13.000Z","size":1748,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-25T11:22:09.186Z","etag":null,"topics":["app","flutter","git","gitea"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igitea.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-23T13:38:09.000Z","updated_at":"2026-04-25T09:43:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/igitea/igitea","commit_stats":null,"previous_names":["igitea/igitea"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/igitea/igitea","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igitea%2Figitea","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igitea%2Figitea/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igitea%2Figitea/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igitea%2Figitea/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igitea","download_url":"https://codeload.github.com/igitea/igitea/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igitea%2Figitea/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32487739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app","flutter","git","gitea"],"created_at":"2026-05-01T07:00:47.553Z","updated_at":"2026-05-01T07:00:49.428Z","avatar_url":"https://github.com/igitea.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iGitea\n\nA cross-platform Flutter client for [Gitea](https://gitea.io), built from the OpenAPI specification.\n\n\u003e Built with OpenCode \u0026 Kimi 2.6 — PRs welcome! Help us if you have extra token, we are desperately waiting lol!\n\n## Screenshots\n\n| Login | Profile | Repository | Issue |\n|:-----:|:-------:|:----------:|:-----:|\n| \u003cimg src=\"doc/login.png\" width=\"200\" /\u003e | \u003cimg src=\"doc/profile.png\" width=\"200\" /\u003e | \u003cimg src=\"doc/repos.png\" width=\"200\" /\u003e | \u003cimg src=\"doc/issues.png\" width=\"200\" /\u003e |\n\n## Features\n\n### Core\n- Cross-platform: Android, iOS, macOS, Linux, Windows, **Web**\n- Clean Architecture + Repository Pattern\n- Material 3 Design System with premium UI polish\n- Consistent 4px spacing grid and typography hierarchy across all pages\n- 120+ data models auto-generated from OpenAPI spec\n- 45+ domain use cases with `Either\u003cFailure, T\u003e` pattern\n- 247 tests passing, `flutter analyze` clean\n\n### Authentication\n- Username/password login (primary)\n- Access token login (secondary)\n- OAuth2 login: browser authorization → callback code → token exchange\n- Session persistence and auto-restore\n\n### Repositories\n- List, search, and browse repositories\n- Collapsible header with star/fork actions\n- Section list navigation: Code, Issues, Milestones, Pull Requests, Releases, Commits, Branches, Tags, Wiki, Webhooks, Labels (tap to open)\n- File browser with breadcrumb navigation\n- File viewer with Markdown rendering, images, and syntax highlighting\n- Edit files with commit message dialog\n- Repository settings: edit description, visibility, features, or delete\n\n### Issues \u0026 Pull Requests\n- List, search, filter issues and PRs\n- Detail pages with Markdown body, state badges, author avatars, labels\n- Comments with Markdown rendering\n- Create issues: title, body, label selection, milestone selection\n- Edit issues: title, body, state toggle, label selection, milestone selection\n- Close/reopen issues, merge PRs with confirmation\n\n### Milestones\n- List milestones with progress bars and open/closed counts\n- Milestone detail with linked issues, edit and delete actions\n- Create milestones: title, description, due date\n\n### Wiki\n- Wiki page list\n- Wiki detail with Markdown rendering (selectable text)\n- Create wiki pages: title, Markdown content, preview toggle, commit message\n- Edit wiki pages: same as create, pre-filled with existing content\n- Delete wiki pages with confirmation dialog\n\n### Labels\n- List labels with color indicators, name, and description\n- Create labels: name, description, color picker (preset palette)\n- Edit labels: same as create, with delete support\n\n### Webhooks\n- List webhooks with type, URL, and active status\n- Webhook detail: configuration, events list, edit and delete actions\n- Create webhooks: URL, secret, content type, event multi-select, active toggle\n\n### CI/CD Actions\n- Workflow runs grouped by workflow file\n- Status filter (success/failure/in_progress etc.) + actor filter\n- Infinite scroll pagination\n- Job log auto-polling every 5s\n- Run detail: jobs list, expandable logs, artifact download\n\n### Organizations \u0026 Teams\n- View organization info, repositories, and teams\n- Click org avatars to navigate to detail page\n- List organization repositories with navigation\n- Team detail page with members and repositories\n- Edit organization name, description, location, website, email, visibility\n- Create new organizations from profile\n\n### Releases\n- Browse releases with assets download\n- Release detail page with body, assets, tarball/zipball links\n\n### Starred Repositories\n- View all starred repositories from profile\n- Star/unstar with toggle button\n\n### Activity Feed\n- Dashboard shows recent activities\n- Supports: create/delete repo, push/delete tag, create/close/reopen issues and PRs, comments, fork, transfer\n\n### Notifications\n- List notifications with unread badge\n- Mark single or all as read\n\n### Search\n- Global search for repositories and issues\n- Real-time search results\n\n### PR Diff Viewer\n- Unified diff parsing with file-level navigation and @@ hunk headers\n- Line-level added (green) / removed (red) highlighting with line numbers\n- Unified / Split view toggle\n- Code review: Comment / Approve / Request Changes\n\n### File Operations\n- File viewer: syntax highlighting, Markdown rendering, edit, download\n- File history: commit timeline, tap to view commit details\n- File compare: base/head ref input with diff rendering\n- Blame view: per-line commit SHA and author annotation\n\n### Commit Details\n- Commit info, author, SHA copy, stats (+/-)\n- Changed files with expandable inline diff (line-level coloring)\n\n### Settings\n- Theme: Light / Dark / System\n- Language selection (10 supported)\n- Account info display\n- Admin panel for user management (admin only)\n\n### Internationalization\n- English (en)\n- Chinese Simplified (zh)\n- Chinese Traditional (zh_TW)\n- Japanese (ja)\n- Korean (ko)\n- Spanish (es)\n- French (fr)\n- German (de)\n- Portuguese (pt)\n- Russian (ru)\n\n### Deep Links\n- `/{owner}/{repo}` — repository\n- `/{owner}/{repo}/issues/{id}` — issue\n- `/{owner}/{repo}/pulls/{id}` — pull request\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|------------|\n| Framework | Flutter |\n| State | ChangeNotifier + ListenableBuilder |\n| HTTP | http package |\n| Storage | path_provider, shared_preferences |\n| i18n | flutter_localizations |\n| UI | Material 3 |\n| Links | url_launcher |\n| File Picker | file_picker |\n| Markdown | flutter_markdown |\n\n## Getting Started\n\n### Prerequisites\n\n- Flutter SDK \u003e= 3.11.5\n- Dart SDK \u003e= 3.11.5\n\n### Build\n\n```bash\n# Install dependencies\nflutter pub get\n\n# Run (dev)\nflutter run\n\n# Build APK (Android)\nflutter build apk --debug\n\n# Build macOS\nflutter build macos\n\n# Build web\nflutter build web\n```\n\n### Test\n\n```bash\nflutter analyze\nflutter test\n```\n\n## Project Status\n\nAll phases complete.\n\n| Phase | Description | Status |\n|-------|-------------|--------|\n| 1 | Project Bootstrap | ✅ Done |\n| 2 | Model Generation | ✅ Done |\n| 3 | API Service | ✅ Done |\n| 4 | Repository Layer | ✅ Done |\n| 5 | Domain Use Cases | ✅ Done |\n| 6 | State Management | ✅ Done |\n| 7 | UI Layer | ✅ Done |\n| 8 | Testing \u0026 Quality | ✅ Done |\n| 9 | Repo Detail \u0026 File Browser | ✅ Done |\n| 10 | Issue/PR Detail \u0026 Search | ✅ Done |\n| 11 | Settings \u0026 Admin | ✅ Done |\n| 12 | Internationalization | ✅ Done |\n| 13 | Wiki, Milestone CRUD, Webhooks, Labels, OAuth2, Actions | ✅ Done |\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figitea%2Figitea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figitea%2Figitea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figitea%2Figitea/lists"}