Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/omar-kader/sheet-ios
Sheet IOS is an iOS app that integrates with Google Spreadsheets, Google Sign-In, and Realm local storage
https://github.com/omar-kader/sheet-ios
google-api google-drive google-sheets ios ios-application ios-demo ios-swift mobile-app mobile-application mobile-development mvvm mvvm-ios native-apps realm realmswift sheet sheets-api swift swiftui swinject
Last synced: 1 day ago
JSON representation
Sheet IOS is an iOS app that integrates with Google Spreadsheets, Google Sign-In, and Realm local storage
- Host: GitHub
- URL: https://github.com/omar-kader/sheet-ios
- Owner: OmAr-Kader
- License: apache-2.0
- Created: 2024-09-05T08:31:05.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-11-02T07:28:11.000Z (3 months ago)
- Last Synced: 2024-12-16T21:16:31.708Z (about 2 months ago)
- Topics: google-api, google-drive, google-sheets, ios, ios-application, ios-demo, ios-swift, mobile-app, mobile-application, mobile-development, mvvm, mvvm-ios, native-apps, realm, realmswift, sheet, sheets-api, swift, swiftui, swinject
- Language: Swift
- Homepage:
- Size: 625 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sheet SwiftUI App
**Sheet** is an iOS app that integrates with **Google Spreadsheets**, **Google Sign-In**, and **Realm local storage**. It allows users to authenticate with their Google accounts, retrieve and manage data from Google Spreadsheets, and store data locally using Realm for offline access.
## Features
- **Google Sign-In Integration**: Users can securely sign in with their Google accounts using the GoogleSignIn SDK.
- **Google Sheets API Integration**: Retrieve, update, and manage data from Google Sheets using GoogleAPIClientForREST_Sheets.
- **Google Drive API Integration**: Access Google Drive files related to spreadsheets using GoogleAPIClientForREST_Drive.
- **Realm Local Storage**: Store data locally for offline access, ensuring the app functions seamlessly without internet connectivity.
- **Offline Support**: Sync data from Google Sheets to local storage and access it when offline.
- **Easy-to-Use Interface**: Simple and intuitive interface for managing spreadsheet data.## Installation
### Prerequisites
Before you can build and run the project, ensure you have the following:
- Xcode 12.0 or later.
- Swift 5.0 or later.
- A Google Cloud project with access to the Google Sheets and Google Drive APIs.
- A configured **OAuth 2.0 Client ID** for iOS.### Steps
1. **Clone the repository**:
```bash
git clone https://github.com/OmAr-Kader/Sheet-IOS.git
cd Sheet-IOS
```2. **Configure Google Sign-In**:
- Go to the [Google Cloud Console](https://console.cloud.google.com/).
- Create a project and enable the **Google Sheets API** and **Google Drive API**.
- Under **APIs & Services > Credentials**, create an OAuth 2.0 client ID for iOS and configure your app’s bundle identifier.
- Download the `GoogleService-Info.plist` file and add it to your project in Xcode.3. **Realm Setup**:
Realm is already integrated via CocoaPods. No additional setup is needed, but you can adjust the Realm configuration in the app as necessary.4. **Run the app**:
Open the `Sheet-IOS.xcworkspace` in Xcode:
```bash
open Sheet-IOS.xcworkspace
```
Then, build and run the app on your iOS device or simulator.## Usage
1. **Sign in with Google**:
- On the login screen, tap the **Sign in with Google** button to authenticate using your Google account.2. **Access Google Sheets**:
- After signing in, the app will display a list of spreadsheets accessible through your Google Drive.
- Select a spreadsheet to view or modify its content.3. **Offline Mode**:
- The app uses Realm to store data locally. If you're offline, you can still view and modify spreadsheet data. Changes will be synced with Google Sheets once you’re back online.## Dependencies
- **[GoogleSignIn](https://developers.google.com/identity/sign-in/ios)**: Handles Google account sign-in.
- **[GoogleAPIClientForREST_Sheets](https://github.com/google/google-api-objectivec-client-for-rest)**: Provides access to Google Sheets API.
- **[GoogleAPIClientForREST_Drive](https://github.com/google/google-api-objectivec-client-for-rest)**: Provides access to Google Drive API.
- **[RealmSwift](https://www.mongodb.com/docs/atlas/device-sdks/)**: Handles local data storage for offline access.Let me know if you need any changes!
Screenshot
-------------