Add iOS app, SvelteKit JSON API endpoints, and Gitea CI workflow
Some checks failed
Deploy / Deploy Production (push) Has been skipped
Deploy / Cleanup Preview (push) Has been skipped
Deploy / Deploy Preview (push) Failing after 0s
CI / Scraper / Test (pull_request) Successful in 11s
CI / UI / Build (pull_request) Failing after 14s
CI / Scraper / Lint (pull_request) Successful in 23s
CI / Scraper / Build (pull_request) Successful in 24s
iOS CI / Build (push) Has been cancelled
iOS CI / Test (push) Has been cancelled
iOS CI / Build (pull_request) Failing after 2s
iOS CI / Test (pull_request) Has been skipped

- iOS SwiftUI app (ios/LibNovel/) targeting iOS 17+, generated via xcodegen
  - Full feature set: auth, home, library, book detail, chapter reader, browse, audio player, profile
  - Kingfisher for image loading, swift-markdown-ui for chapter rendering
  - Base URL: https://v2.libnovel.kalekber.cc
- SvelteKit JSON API routes (ui/src/routes/api/) for iOS consumption:
  auth/login, auth/register, auth/me, auth/logout, auth/change-password,
  home, library, book/[slug], chapter/[slug]/[n], search, ranking,
  progress/[slug], presign/audio (updated)
- Gitea Actions CI: .gitea/workflows/ios.yaml (build + test on macos-latest)
- justfile: ios-gen, ios-build, ios-test recipes
This commit is contained in:
Admin
2026-03-07 18:17:51 +05:00
parent 1eb70e9b9b
commit f51113a2f8
50 changed files with 4875 additions and 1 deletions

View File

@@ -3,6 +3,7 @@
scraper_dir := "scraper"
ui_dir := "ui"
ios_dir := "ios/LibNovel"
# ─── Build ────────────────────────────────────────────────────────────────────
@@ -78,6 +79,30 @@ ui-install:
ui-build:
cd {{ui_dir}} && npm run build
# ─── iOS ──────────────────────────────────────────────────────────────────────
# Regenerate LibNovel.xcodeproj from project.yml (run after structural changes)
ios-gen:
cd {{ios_dir}} && xcodegen generate --spec project.yml --project .
# Build the iOS app for the simulator (no signing required)
ios-build: ios-gen
cd {{ios_dir}} && xcodebuild \
-project LibNovel.xcodeproj \
-scheme LibNovel \
-configuration Debug \
-destination 'generic/platform=iOS Simulator' \
CODE_SIGNING_ALLOWED=NO
# Run unit tests on the simulator
ios-test: ios-gen
cd {{ios_dir}} && xcodebuild test \
-project LibNovel.xcodeproj \
-scheme LibNovel \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 17' \
CODE_SIGNING_ALLOWED=NO
# ─── Docker Compose ───────────────────────────────────────────────────────────
# Start all services (browserless, kokoro, scraper, minio, pocketbase)