https://github.com/tachibana-shin/hoyomi
The application for watch anime and read manga for Android and iOS
https://github.com/tachibana-shin/hoyomi
android anime anime-streaming dart english flutter hianime ios manga manga-reader video
Last synced: about 1 month ago
JSON representation
The application for watch anime and read manga for Android and iOS
- Host: GitHub
- URL: https://github.com/tachibana-shin/hoyomi
- Owner: tachibana-shin
- License: gpl-3.0
- Created: 2024-12-03T12:10:02.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-14T15:51:45.000Z (about 2 months ago)
- Last Synced: 2025-04-15T02:52:49.585Z (about 1 month ago)
- Topics: android, anime, anime-streaming, dart, english, flutter, hianime, ios, manga, manga-reader, video
- Language: Dart
- Homepage:
- Size: 2.43 MB
- Stars: 21
- Watchers: 1
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hoyomi
A new Flutter project.
> [!WARNING]
> App is development> [!TIP]
> Multi-source, multi-platform manga reading and anime viewing application for free
>
> `English` / `Multiple` support by `HiAnime`## Screenshot preview











## Support platform
- [x] Android
- [x] Isar for android SDK <= 23
- [x] iOS side via TrollStore
- [x] iOS side by other methods## Todo
- [ ] Add background image for `details_comic`
- [ ] Add information `book` for reader
- [ ] Fix logic fake page- [ ] Page eiga details
- [ ] Fix zoomer read manga
- [ ] Responsive for video player
- [ ] AppBar all page- [ ] API comment for eiga
- [ ] API follow anime
- [ ] API notification- [ ] A11y manga reader
- [ ] API playlist
- [ ] API playlist online- [ ] Search icon for all section
- [ ] Bottom sheet show all options- [ ] Add multiple server in eiga
## Development
### Prerequisites
#### Step 1: Set up the Firebase project
The first step is to set up the Firebase project and enable Google sign-in. if you already have a flutter project, you can skip this step.1. Go to the [Firebase console](https://console.firebase.google.com/) and create a new project.
2. Click on the `Authentication` link in the left-hand menu, then click on the `Sign-in Method` tab.
3. Enable the `Google` sign-in method.#### Step 2: Configure the OAuth client
You need your application's client ID and Secret from Google Cloud Console to enable Google sign-in. If you’ve it already then skip this step.- To get the client ID and secret, follow the steps from the given [link](https://support.google.com/cloud/answer/6158849?hl=en).
- Choose `a web application`.
- In the `Authorized redirect URIs` and `Authorized JavaScript origin`, enter the URL `http://localhost`-----
### Setup Serverless
To deploy the serverless application, you need to set up a serverless provider. Here are the steps to set up Deno:#### Step 1: Configure the Firebase Admin
Please goto `Project Settings`
1. Click to `Generate new private key`
2. Paste file download to `serverless/service-account-key.json`#### Step 2: Configre the Xata database
The server required xata database for working
1. Run `cd serverless`
2. Run `xata init` and select project. The command auto create new file `.env`
3. Add `XATA_DATABASE_URL` from `setting project` xata to `.env`-----
### Setup Application#### Step 1 (Required in mobile platform)
> [!TIP]
>
> This project depends Firebase. Please first run
> ```bash
> flutterfire configure
> ```
>
> and configuring file `/android/app/google-services.json`, `/ios/Runner/GoogleService-Info.plist` (two file auto create by `flutterfire`)- `/android/app/google-services.json` required for Android
- `/ios/Runner/GoogleService-Info.plist` required for iOS> [!TIP]
>
> **NOTE** (If you development for iOS)
>
> Please edit `CFBundleURLSchemes` in `ios/Runner/Info.plist`#### Step 2 (Required in desktop platform)
Goto https://console.cloud.google.com/apis/credentials and get `Client ID` and `Client secret` from `OAuth 2.0 Client IDs` (Use `Web application`)Set to `.env`
```env
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
```
#### Step 3
Set to `.env`
```env
BASE_API_GENERAL=
```### GitHub Actions
To release the application, the following `secrets` must be provided:
### General
- `ENV_CONTENT` - Content of the `.env` file. (not encode base64)### **For Android**
- `KEYSTORE_CONTENT` - Base64-encoded content of the `keystore.jks` file.
- `KEYSTORE_PASSWORD` - Password used to sign the `keystore.jks` file.
- `KEYSTORE_ALIAS` - Alias used to sign the `keystore.jks` file.
- `GOOGLE_SERVICES_JSON` - Base64-encoded content of the `google-services.json` file (automatically generated by `flutterfire`).### **For iOS**
- `GOOGLE_SERVICE_INFO_PLIST` - Base64-encoded content of the `GoogleService-Info.plist` file (automatically generated by `flutterfire`).> **Note**: The `google-services.json` (for Android) and `GoogleService-Info.plist` (for iOS) files are automatically created when you run the `flutterfire configure` command during Firebase setup.