|
| 1 | +# GitCode - Professional Mobile IDE for Android |
| 2 | + |
| 3 | +<div align="center"> |
| 4 | + |
| 5 | +**A fully-featured, professional mobile IDE for Android with GitHub integration, advanced code editing, large file support, and modern development tools.** |
| 6 | + |
| 7 | +[](https://github.com/UniverseKing4/GitHubActionsApp/releases) |
| 8 | +[](LICENSE) |
| 9 | +[](https://www.android.com/) |
| 10 | + |
| 11 | +[Download APK](https://github.com/UniverseKing4/GitHubActionsApp/releases/latest) • [Report Bug](https://github.com/UniverseKing4/GitHubActionsApp/issues) • [Request Feature](https://github.com/UniverseKing4/GitHubActionsApp/issues) |
| 12 | + |
| 13 | +</div> |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +## 🌟 Overview |
| 18 | + |
| 19 | +GitCode transforms your Android device into a powerful development environment. Write, edit, and manage code projects of any size with professional-grade features including syntax highlighting, intelligent large file handling, GitHub integration, and polished UI/UX. |
| 20 | + |
| 21 | +## ✨ Key Features |
| 22 | + |
| 23 | +### 🎨 **Advanced Code Editor** |
| 24 | +- **Multi-Language Syntax Highlighting** - Support for Java, JavaScript, Python, C/C++, Go, Rust, PHP, Ruby, Swift, Kotlin, HTML, CSS, and more |
| 25 | +- **Smart Line Numbers** - Dynamic, perfectly aligned line numbers that scale with your code |
| 26 | +- **Large File Support** - Intelligent chunking for files >10KB or 1000+ lines with seamless navigation |
| 27 | +- **Bracket Matching** - Click any bracket to highlight its matching pair |
| 28 | +- **Auto-Indent & Auto-Brackets** - Intelligent code formatting as you type |
| 29 | +- **Customizable Font Size** - Adjustable from 10sp to 30sp for comfortable coding |
| 30 | +- **Word Wrap** - Toggle word wrapping for long lines |
| 31 | +- **Undo/Redo** - Full undo/redo support with visual feedback |
| 32 | +- **Go to Line/Part** - Jump to any line or file section instantly |
| 33 | + |
| 34 | +### 📑 **Tabbed Interface** |
| 35 | +- Open multiple files simultaneously |
| 36 | +- Horizontal scrolling for unlimited tabs |
| 37 | +- Quick tab switching with visual indicators |
| 38 | +- Individual close buttons on each tab |
| 39 | +- Active tab highlighting |
| 40 | +- Seamless file navigation |
| 41 | + |
| 42 | +### 🔗 **GitHub Integration** |
| 43 | +- **Clone Repositories** - Clone any public/private GitHub repository via URL |
| 44 | +- **Smart Push** - Automatically detects and pushes only modified files |
| 45 | +- **Pull Changes** - Sync your local project with remote repository |
| 46 | +- **File Deletion Detection** - Automatically removes deleted files from GitHub |
| 47 | +- **Multiple Profiles** - Switch between different GitHub accounts with ease |
| 48 | +- **Secure Authentication** - Personal Access Token support with encrypted storage |
| 49 | + |
| 50 | +### 📁 **Project Management** |
| 51 | +- Create and manage multiple projects |
| 52 | +- Organize files and folders with intuitive UI |
| 53 | +- Rename, delete, and move files/folders |
| 54 | +- File selection mode with batch operations |
| 55 | +- Project statistics (file count, folder count, lines of code, character count) |
| 56 | +- Recent projects list on home screen |
| 57 | +- Auto-save functionality |
| 58 | + |
| 59 | +### 🎯 **Developer Tools** |
| 60 | +- **Find & Replace** - Search and replace text across files with occurrence tracking |
| 61 | +- **Auto-Save** - Never lose your work with automatic saving |
| 62 | +- **Keyboard Shortcuts** - Efficient coding with shortcuts |
| 63 | +- **File Browser** - Expandable/collapsible folder tree with drawer navigation |
| 64 | +- **Welcome Messages** - Helpful prompts when no files are open |
| 65 | +- **Toast Notifications** - Clear feedback for all operations |
| 66 | + |
| 67 | +### 🌙 **Modern UI/UX** |
| 68 | +- **Dark Mode** - Eye-friendly dark theme (default) with consistent styling |
| 69 | +- **Light Mode** - Clean light theme option |
| 70 | +- **Themed Dialogs** - All dialogs match your selected theme |
| 71 | +- **Compact Toolbar** - Efficient use of screen space with emoji icons |
| 72 | +- **Responsive Design** - Optimized for all screen sizes |
| 73 | +- **Smooth Animations** - Polished user experience with no lag |
| 74 | +- **Professional Layout** - Clean, intuitive interface |
| 75 | + |
| 76 | +## 📸 Screenshots |
| 77 | + |
| 78 | +*(Coming soon)* |
| 79 | + |
| 80 | +## 🚀 Getting Started |
| 81 | + |
| 82 | +### Installation |
| 83 | + |
| 84 | +#### Option 1: Download Pre-built APK (Recommended) |
| 85 | +1. Go to [Releases](https://github.com/UniverseKing4/GitHubActionsApp/releases/latest) |
| 86 | +2. Download the latest `app-release-signed.apk` |
| 87 | +3. Install on your Android device |
| 88 | +4. Grant necessary permissions when prompted |
| 89 | + |
| 90 | +#### Option 2: Build from Source |
| 91 | +```bash |
| 92 | +# Clone the repository |
| 93 | +git clone https://github.com/UniverseKing4/GitHubActionsApp.git |
| 94 | +cd GitHubActionsApp |
| 95 | + |
| 96 | +# Build with Gradle |
| 97 | +./gradlew assembleRelease |
| 98 | + |
| 99 | +# APK will be at: app/build/outputs/apk/release/ |
| 100 | +``` |
| 101 | + |
| 102 | +### First-Time Setup |
| 103 | + |
| 104 | +1. **Launch GitCode** - Open the app after installation |
| 105 | +2. **Create a Project** - Tap "New Project" and enter a name |
| 106 | +3. **Set Up GitHub** (Optional) |
| 107 | + - Tap "👤 GitHub Profiles" |
| 108 | + - Add your GitHub username and Personal Access Token |
| 109 | + - Save the profile |
| 110 | + |
| 111 | +### Creating a GitHub Personal Access Token |
| 112 | + |
| 113 | +1. Visit [GitHub Settings → Tokens](https://github.com/settings/tokens) |
| 114 | +2. Click "Generate new token" → "Generate new token (classic)" |
| 115 | +3. Give it a descriptive name (e.g., "GitCode Mobile") |
| 116 | +4. Select scopes: |
| 117 | + - ✅ `repo` (Full control of private repositories) |
| 118 | +5. Click "Generate token" |
| 119 | +6. **Copy the token immediately** (you won't see it again!) |
| 120 | +7. Paste it into GitCode when adding a profile |
| 121 | + |
| 122 | +## 📖 Usage Guide |
| 123 | + |
| 124 | +### Creating Your First Project |
| 125 | + |
| 126 | +1. Tap **"New Project"** on the home screen |
| 127 | +2. Enter a project name |
| 128 | +3. Tap **"Create"** |
| 129 | +4. Start coding! |
| 130 | + |
| 131 | +### Working with Files |
| 132 | + |
| 133 | +- **Create File**: Tap "File" → Enter filename with extension |
| 134 | +- **Create Folder**: Tap "Folder" → Enter folder name |
| 135 | +- **Open File**: Tap any file in the file browser |
| 136 | +- **Rename**: Long-press file → Select "Rename" |
| 137 | +- **Delete**: Long-press file → Select "Delete" |
| 138 | +- **Select Multiple**: Tap "Select" → Check files → Tap "Actions" |
| 139 | + |
| 140 | +### GitHub Workflow |
| 141 | + |
| 142 | +#### Clone a Repository |
| 143 | +1. Tap **"Clone Repository"** on home screen |
| 144 | +2. Enter full GitHub URL (e.g., `https://github.com/username/repo`) |
| 145 | +3. Select your GitHub profile |
| 146 | +4. Tap **"Clone"** |
| 147 | + |
| 148 | +#### Push Changes |
| 149 | +1. Make changes to your files |
| 150 | +2. Tap **💾 Save** (or auto-save handles it) |
| 151 | +3. Tap **🚀 Push** |
| 152 | +4. Enter commit message |
| 153 | +5. Changes are pushed to GitHub |
| 154 | + |
| 155 | +#### Pull Changes |
| 156 | +1. Open your project |
| 157 | +2. Tap **Menu (☰)** → **"Pull from GitHub"** |
| 158 | +3. Select your profile |
| 159 | +4. Local files sync with remote repository |
| 160 | + |
| 161 | +### Customizing Settings |
| 162 | + |
| 163 | +1. Tap **"⚙ Settings"** on home screen |
| 164 | +2. Adjust **Font Size** with slider (10-30sp) |
| 165 | +3. Toggle **Theme** between Dark/Light mode |
| 166 | +4. Tap **"Save"** to apply changes |
| 167 | + |
| 168 | +## 🎨 Supported Languages |
| 169 | + |
| 170 | +Syntax highlighting is automatically applied for: |
| 171 | + |
| 172 | +| Language | Extensions | |
| 173 | +|----------|-----------| |
| 174 | +| Java | `.java` | |
| 175 | +| JavaScript | `.js`, `.jsx` | |
| 176 | +| TypeScript | `.ts`, `.tsx` | |
| 177 | +| Python | `.py` | |
| 178 | +| HTML | `.html`, `.htm` | |
| 179 | +| CSS | `.css`, `.scss`, `.sass` | |
| 180 | +| C/C++ | `.c`, `.cpp`, `.h`, `.hpp` | |
| 181 | +| Go | `.go` | |
| 182 | +| Rust | `.rs` | |
| 183 | +| PHP | `.php` | |
| 184 | +| Ruby | `.rb` | |
| 185 | +| Swift | `.swift` | |
| 186 | +| Kotlin | `.kt` | |
| 187 | +| JSON | `.json` | |
| 188 | +| YAML | `.yaml`, `.yml` | |
| 189 | +| XML | `.xml` | |
| 190 | + |
| 191 | +Plain text files (`.txt`, `.md`, etc.) display without syntax highlighting. |
| 192 | + |
| 193 | +## ⚙️ Technical Details |
| 194 | + |
| 195 | +### Requirements |
| 196 | +- **Android Version**: 5.0 (Lollipop) or higher |
| 197 | +- **Permissions**: |
| 198 | + - `INTERNET` - GitHub API communication |
| 199 | + - `READ_EXTERNAL_STORAGE` - File access |
| 200 | + - `WRITE_EXTERNAL_STORAGE` - File operations |
| 201 | + - `MANAGE_EXTERNAL_STORAGE` - Project management |
| 202 | + |
| 203 | +### Architecture |
| 204 | +- **Language**: Java |
| 205 | +- **UI Framework**: Native Android Views |
| 206 | +- **Storage**: SharedPreferences for settings, local filesystem for projects |
| 207 | +- **API**: GitHub REST API v3 |
| 208 | +- **Build System**: Gradle |
| 209 | +- **CI/CD**: GitHub Actions (automatic APK builds and releases) |
| 210 | + |
| 211 | +### Security |
| 212 | +- Credentials stored locally using Android SharedPreferences |
| 213 | +- Personal Access Tokens never logged or transmitted except to GitHub API |
| 214 | +- HTTPS-only communication with GitHub |
| 215 | +- No third-party analytics or tracking |
| 216 | + |
| 217 | +## 🔧 Development |
| 218 | + |
| 219 | +### Project Structure |
| 220 | +``` |
| 221 | +GitHubActionsApp/ |
| 222 | +├── app/src/main/ |
| 223 | +│ ├── java/com/github/actions/ |
| 224 | +│ │ ├── ProjectsActivity.java # Home screen & project management |
| 225 | +│ │ ├── IDEActivity.java # Main code editor |
| 226 | +│ │ └── GitHubAPI.java # GitHub integration |
| 227 | +│ ├── res/ |
| 228 | +│ │ ├── drawable/ # Icons and graphics |
| 229 | +│ │ ├── mipmap-*/ # Launcher icons |
| 230 | +│ │ └── layout/ # XML layouts |
| 231 | +│ └── AndroidManifest.xml |
| 232 | +├── .github/workflows/ |
| 233 | +│ └── android.yml # CI/CD pipeline |
| 234 | +└── README.md |
| 235 | +``` |
| 236 | + |
| 237 | +### Building Locally |
| 238 | + |
| 239 | +**Prerequisites:** |
| 240 | +- Android Studio Arctic Fox or later |
| 241 | +- JDK 11 or higher |
| 242 | +- Android SDK 30+ |
| 243 | + |
| 244 | +**Steps:** |
| 245 | +1. Open project in Android Studio |
| 246 | +2. Sync Gradle files |
| 247 | +3. Build → Build Bundle(s) / APK(s) → Build APK(s) |
| 248 | +4. APK location: `app/build/outputs/apk/release/` |
| 249 | + |
| 250 | +### Contributing |
| 251 | + |
| 252 | +Contributions are welcome! Please: |
| 253 | +1. Fork the repository |
| 254 | +2. Create a feature branch (`git checkout -b feature/amazing-feature`) |
| 255 | +3. Commit your changes (`git commit -m 'Add amazing feature'`) |
| 256 | +4. Push to the branch (`git push origin feature/amazing-feature`) |
| 257 | +5. Open a Pull Request |
| 258 | + |
| 259 | +## 🐛 Known Issues |
| 260 | + |
| 261 | +- GitHub API rate limits apply (60 requests/hour unauthenticated, 5000/hour authenticated) |
| 262 | + |
| 263 | +## 📄 License |
| 264 | + |
| 265 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
| 266 | + |
| 267 | +## 🙏 Acknowledgments |
| 268 | + |
| 269 | +- Built with ❤️ for mobile developers |
| 270 | +- Inspired by professional desktop IDEs |
| 271 | +- Thanks to the Android and GitHub communities |
| 272 | + |
| 273 | +## 📞 Support |
| 274 | + |
| 275 | +- **Issues**: [GitHub Issues](https://github.com/UniverseKing4/GitHubActionsApp/issues) |
| 276 | +- **Discussions**: [GitHub Discussions](https://github.com/UniverseKing4/GitHubActionsApp/discussions) |
| 277 | + |
| 278 | +--- |
| 279 | + |
| 280 | +<div align="center"> |
| 281 | + |
| 282 | +**Made with ❤️ for developers who code on the go** |
| 283 | + |
| 284 | +⭐ Star this repo if you find it useful! |
| 285 | + |
| 286 | +</div> |
0 commit comments