SubmitQueue

Dit systeem is ontworpen voor grote monorepo's en snel bewegende teams, waar gelijktijdige wijzigingen subtiele conflicten kunnen introduceren en builds kunnen destabiliseren.

Repository-indeling

Cross-domein Go-code (zoals errors, metrics, consumer framework, HTTP-helpers, shared entities en shared extension contracts) bevindt zich onder platform/.

Elk productdomein heeft zijn eigen boomstructuur (bijvoorbeeld submitqueue/, stovepipe/, ...) en groeit uit tot de volgende componenten:

  • gateway/
  • orchestrator/
  • entity/
  • extension/
  • domein-lokale core/

Een domein kan echter kleiner beginnen; zo is Stovepipe momenteel een enkele Ping-only service met enkel een controller/. Raadpleeg CLAUDE.md voor conventies en importpaden.

Snelstart

Voor gebruik zijn Docker en Docker Compose vereist. Zie 'Development Setup' voor de volledige lijst met vereisten.

# Alles bouwen
make build

# Unit tests uitvoeren
make test

# Volledige stack lokaal starten (Gateway + Orchestrator + MySQL via Docker Compose)
make local-submitqueue-start

# Testen met grpcurl
grpcurl -plaintext -d '{"message": "hello"}' localhost:8081 uber.submitqueue.gateway.SubmitQueueGateway/Ping

# Services stoppen
make local-stop

Zie service/README.md voor meer voorbeelden, inclusief het draaien van individuele services en clients.

Documentatie

DocumentBeschrijving
Development SetupVoorvereisten, build, omgeving en IDE-instellingen
ContributingHoe bij te dragen, workflow en richtlijnen
Testing GuidePatronen voor unit-, integratie- en E2E-testen
Architecture GuideProjectindeling, patronen en conventies
ExamplesHet draaien van services, clients en API-referentie
RFCsOntwerpdocumenten en voorstellen

Projectstatus

SubmitQueue is in actieve ontwikkeling. Bijdragen en feedback zijn welkom. Voor informatie over hoe u kunt beginnen, zie CONTRIBUTING.md.

Licentie

Dit project is gelicentieerd onder de Apache License 2.0.