Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
When, Where, What you catch.
Translation pending
LifestyleC# · DockerfileGitHub @fenghebonjourOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
OMyFish Enterprise — .NET 10 · ASP.NET Core · Clean Architecture · CQRS · MediatR · RabbitMQ · PostGIS· MongoDB
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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.Read the full 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 |