A simple room reservation application using Symfony 6, Docker, Queue (Symfony Messenger), Elasticsearch. All environment requirings were presented on docker
- run project:
$ docker-compose up -d
- run schema update:
$ docker exec room_reservation_php php bin/console doctrine:schema:update --force
- run migrations:
$ docker exec room_reservation_php php bin/console doctrine:migrations:migrate
- run migrations:
$ docker exec room_reservation_php php bin/console TransferDataFromMysqlToElastic
- run migrations:
$ docker exec room_reservation_php php bin/console messenger:consume -vv
- run project
https://localhost:8088
You can find postman collections in root directory name with
postmanCollections
database diagram:
https://drawsql.app/teams/selfteam-1/diagrams/reservation-database
curl --location --request GET 'https://localhost:8088/api/v1/reservation/list'
curl --location --insecure --request POST 'https://localhost:8088/api/v1/reservation/create' \
--header 'Content-Type: application/json' \
--data-raw '{
"payment": {
"cardNumber": "4716841611983226",
"cardOwner": "test test",
"cardCvc": 621,
"cardExpiry": "07/28"
},
"user": 1,
"room": 1,
"startDate": "2022-09-26",
"endDate": "2022-09-29",
"guestCount": 2
}'
- Project: https://localhost:8088
- Kibana: http://localhost:5601
- Elasticsearch: http://localhost:9200
- elastic search: https://github.com/elastic/elasticsearch-php/tree/7.0
- messenger bus: https://symfony.com/doc/current/components/messenger.html