尚未检测到更新。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 |