尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證OMyFish Enterprise — .NET 10 · ASP.NET Core · Clean Architecture · CQRS · MediatR · RabbitMQ · PostGIS· MongoDB
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
OMyFish — Your AI Fishing Companion. When, Where, What you catch. A Bite Score timing forecast for when to fish, AI fish identification with GPS-logged observations on a map for where fish are being caught, and a Regs & Tips chatbot (powered by Groq) for what you can legally keep — built on .NET 10 + ASP.NET Core with Clean Architecture, CQRS (MediatR), and Event-Driven design.檢視完整 README ↗OMyFish — Your AI Fishing Companion. When, Where, What you catch. A Bite Score timing forecast for when to fish, AI fish identification with GPS-logged observations on a map for where fish are being caught, and a Regs & Tips chatbot (powered by Groq) for what you can legally keep — built on .NET 10 + ASP.NET Core with Clean Architecture, CQRS (MediatR), and Event-Driven design.
[!NOTE] Repo reorganization (July 2026): the OMyFish platform is split into six repos: omyfish-python (the AI-first origin, previously named
omyfish— the old link redirects there — now kept in place for training the fish-ID model), omyfish-ai (standalone AI microservice shared by all), omyfish-java, omyfish-dotnet (this one), and the two newest siblings, omyfish-python-web (Django, public) and omyfish-ios (SwiftUI, private).
| Layer | Technology |
|---|---|
| Frontend | Next.js 15 · TypeScript · MapLibre GL JS |
| API Gateway | YARP Reverse Proxy |
| Services | .NET 10 · ASP.NET Core Minimal APIs · EF Core · Npgsql |
| AI Layer | Python 3.11 · PyTorch · ONNX Runtime · FastAPI |
| Messaging | RabbitMQ 3.13 (Quorum Queues) · MassTransit |
| Database | PostgreSQL 16 + PostGIS 3.4 · NetTopologySuite |
| Species Catalog | MongoDB 7 (read-mostly reference data, see BACKLOG.md item E) |
| Object Store | MinIO (dev) · AWS S3 / Azure Blob (prod) |
| Infra | Docker Compose · Kubernetes · Helm 3 |
| Observability | OpenTelemetry · Prometheus · Grafana · Jaeger · Serilog |
| CI/CD | GitHub Actions |
# Prerequisites: Docker, .NET 10 SDK, Node 20
# 1. Start infrastructure + all services
make up
# 2. Build all .NET services
make build
# 3. Run database migrations
make migrate
# 4. Create MinIO buckets
make minio-create-buckets
# 5. Open the app
open http://localhost:3000 # Frontend
open http://localhost:8080/health # API Gateway health
open http://localhost:15672 # RabbitMQ Management (omyfish/omyfish_dev)
open http://localhost:9001 # MinIO Console
open http://localhost:16686 # Jaeger UI
open http://localhost:3001 # Grafana (admin/admin)
omyfish-dotnet/
src/
services/
ApiGateway/ ← YARP + auth middleware
IdentityService/ ← JWT, OAuth2/OIDC, API keys
SpeciesService/ ← AI orchestration, CQRS, species KB
ObservationService/ ← PostGIS, EXIF, GeoJSON, MinIO
NotificationService/ ← notifications web API + MassTransit consumers
ShopService/ ← Omyshop: catalog, cart, Stripe checkout, orders
AIService/ ← builds from ../omyfish-ai (shared: Bite Score + fish ID + Regs & Tips chatbot)
shared/
OMyFish.Shared.BuildingBlocks/ ← CQRS interfaces, AggregateRoot
OMyFish.Shared.Contracts/ ← Integration events
infrastructure/
kubernetes/ ← Deployments, HPA, Ingress
helm/omyfish/ ← Helm chart
migrations/ ← SQL migration scripts
.gitlab-ci.yml
docker-compose.yml
Makefile
Frontend: not vendored here — extracted to its own repo/image, shared across every
omyfish-* backend: https://github.com/fenghebonjour/omyfish-frontend (Next.js 15, /, /timing,
/observations, /notifications, /login, /register). docker-compose.yml's frontend service
pulls a pinned tag; develop the frontend itself by cloning that repo directly. make up/
build-up warn (without blocking) if that pin is behind a sibling ../omyfish-frontend
checkout — bump the tag to pick up frontend changes.
See ARCHITECTURE.md for full diagrams, DDD bounded contexts, CQRS flow, database schemas, scaling strategy, and migration roadmap.
| Service | Port |
|---|---|
| Frontend | 3000 |
| API Gateway (YARP) | 8080 |
| Identity Service | 8081 |
| Species Service | 8082 |
| Observation Service | 8083 |
| Notification Service | 8084 |
| Shop Service | 8085 |
| AI Service (Python) | 8000 |
| PostgreSQL | 5432 |
| MongoDB | 27017 |
| RabbitMQ AMQP | 5672 |
| RabbitMQ Management | 15672 |
| MinIO API | 9000 |
| MinIO Console | 9001 |
| Prometheus | 9090 |
| Grafana | 3001 |
| Jaeger UI | 16686 |