Простое приложение для использования сервисов API рецептов. Это для демонстрационных целей и создано для демонстрации навыков архитектуры и программирования.
Ниже приведены ключевые моменты проектирования, а также то, как они были реализованы и реализованы.
Требования к среде разработки:
Настройка среды разработки на локальном компьютере с помощью сценария установки:
$ git clone https://github.com/ahsanatiq/no-framework-api
$ cd ahsanatiq-api-test
$ git checkout dev
$ ./setup.sh
Ручная настройка:
$ git clone https://github.com/ahsanatiq/no-framework-api
$ cd ahsanatiq-api-test
$ git checkout dev
$ cp recipe-service/.env.dev recipe-service/.env
$ cp oauth-service/.env.dev oauth-service/.env
$ cp search-service/.env.dev search-service/.env
$ cp web-service/.env.dev web-service/.env
$ docker-compose up -d
$ docker exec -it ahsanatiq-recipe-service composer install
$ docker exec -it ahsanatiq-oauth-service composer install
$ docker exec -it ahsanatiq-search-service composer install
$ docker exec -it ahsanatiq-web-service composer install
$ docker exec -it ahsanatiq-recipe-postgres createdb -U hellofresh -O hellofresh hellofresh_testing
$ docker exec -it ahsanatiq-postgres-oauth createdb -U hellofresh -O hellofresh hellofresh_testing
$ docker exec -it ahsanatiq-oauth-service openssl genrsa -out /server/keys/id_rsa 2048
$ docker exec -it ahsanatiq-oauth-service openssl rsa -in /server/keys/id_rsa -pubout -out /server/keys/id_rsa.pub
$ docker exec -it ahsanatiq-recipe-service php vendor/bin/phinx migrate
$ docker exec -it ahsanatiq-oauth-service php vendor/bin/phinx migrate
$ docker exec -it ahsanatiq-oauth-service php vendor/bin/phinx seed:run
$ docker exec -it ahsanatiq-oauth-service php vendor/bin/phinx migrate -e testing
$ docker exec -it ahsanatiq-oauth-service php vendor/bin/phinx seed:run -e testing
$ docker exec ahsanatiq-search-service nohup /usr/bin/php /server/http/console.php consume:recipes &
Теперь вы можете получить доступ к приложению через http://localhost:8000.
Запустите модульные тесты в контейнере Recipe-Service:
$ docker exec -it ahsanatiq-recipe-service php vendor/bin/codecept run
Запустите приемочные тесты в контейнере веб-сервиса:
$ docker exec -it ahsanatiq-web-service php vendor/bin/codecept run
Вы можете получить доступ к общедоступной документации API на сайте Postman. Чтобы импортировать и запустить все API, нажмите «Запустить в Postman» на верхней панели. После установки и импорта вы увидите новую коллекцию как «HelloFresh-Recipes API». Чтобы получить доступ к защищенным API, вам необходимо сначала запустить создание токена из конечной точки «Аутентификация -> Получить токен». Затем обновите «access_Token» в настройках среды «HelloFresh-Dev», щелкнув правый верхний угол в приложении почтальона.