SkillAgentSearch skills...

Flighthub

Flight ticket booking system implemented with CQRS and ES.

Install / Use

/learn @akondas/Flighthub
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

FlightHub

Minimum PHP Version Build Status License: MIT

Flight ticket booking system implemented with CQRS and ES.

FlightHub

Graph generated from eventstorming.md using webeventstorming.com

Features

Commands

  • [x] Add new flight
  • [x] Reserve ticket
  • [x] Block seat (with Optimistic Offline Lock)
  • [ ] Confirm reservation (with Pessimistic Offline Lock)
  • [ ] Cancel reservation (with Implicit Lock)
  • [ ] Register customer
  • [ ] Add customer address
  • [ ] Change customer email (with Coarse-Grained Lock)

Offline Concurrency Patterns presentation showcase

Queries

  • [x] Health check
  • [x] Show flight (by id)
  • [x] Search flight by number
  • [ ] Show customer (by id)
  • [ ] Search customers
  • [ ] Show confirmed reservations (by flightId)

Other

  • [x] Frameworkless domain (with EventMachine new Flavour feature)
  • [ ] Custom projections
  • [ ] Integration tests

Installation

docker-compose up -d
docker-compose run php php scripts/create_event_stream.php

Swagger UI

http://localhost:8080/swagger/index.html 

Testing

docker-compose run php php vendor/bin/phpunit

License

FlightHub is released under the MIT Licence. See the bundled LICENSE file for details.

Author

Arkadiusz Kondas (@ArkadiuszKondas)

View on GitHub
GitHub Stars26
CategoryDevelopment
Updated1y ago
Forks1

Languages

PHP

Security Score

80/100

Audited on Sep 11, 2024

No findings