Eine einfache Anwendung zur Nutzung von Rezept-API-Diensten. Dies dient Demozwecken und wurde erstellt, um Architektur- und Programmierkenntnisse zu demonstrieren.
Nachfolgend finden Sie die wichtigsten Designpunkte und wie sie gehandhabt und implementiert wurden.
Anforderungen an die Entwicklungsumgebung:
Einrichten Ihrer Entwicklungsumgebung auf Ihrem lokalen Computer mithilfe des Setup-Skripts:
$ git clone https://github.com/ahsanatiq/no-framework-api
$ cd ahsanatiq-api-test
$ git checkout dev
$ ./setup.sh
Manuelle Einrichtung:
$ 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 &
Nun können Sie über http://localhost:8000 auf die Anwendung zugreifen.
Führen Sie die Unit-Tests im Recipe-Service-Container aus:
$ docker exec -it ahsanatiq-recipe-service php vendor/bin/codecept run
Führen Sie die Akzeptanztests im Web-Service-Container aus:
$ docker exec -it ahsanatiq-web-service php vendor/bin/codecept run
Sie können auf die öffentliche API-Dokumentation bei Postman zugreifen. Um alle APIs zu importieren und auszuführen, klicken Sie in der oberen Leiste auf „In Postman ausführen“. Nach der Installation und dem Import wird die neue Sammlung als „HelloFresh-Recipes API“ angezeigt. Um auf die geschützten APIs zuzugreifen, müssen Sie zunächst die Generierung des Tokens vom Endpunkt „Authentifizierung -> Token abrufen“ ausführen. Aktualisieren Sie dann das „access_Token“ in der Umgebungseinstellung „HelloFresh-Dev“, indem Sie in der Postman-App auf die obere rechte Ecke klicken.