Um aplicativo simples para consumir serviços de API de receitas. Isto é para fins de demonstração e criado para demonstrar habilidades de arquitetura e programação.
Abaixo estão os principais pontos do design e como eles foram tratados e implementados.
Requisitos do ambiente de desenvolvimento:
Configurando seu ambiente de desenvolvimento em sua máquina local usando o script de configuração:
$ git clone https://github.com/ahsanatiq/no-framework-api
$ cd ahsanatiq-api-test
$ git checkout dev
$ ./setup.sh
Configuração manual:
$ 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 &
Agora você pode acessar o aplicativo via http://localhost:8000.
Execute os testes unitários no contêiner Recipe-Service:
$ docker exec -it ahsanatiq-recipe-service php vendor/bin/codecept run
Execute os testes de aceitação no contêiner do serviço Web:
$ docker exec -it ahsanatiq-web-service php vendor/bin/codecept run
Você pode acessar a documentação pública da API em Postman. Para importar e executar todas as API's, clique em "Run In Postman" na barra superior, após instalar e importar você verá a nova coleção como "HelloFresh-Recipes API". Para acessar as APIs protegidas, você precisa primeiro executar a geração do token no endpoint "Autenticação -> Obter Token". Em seguida, atualize o "access_Token" na configuração do ambiente "HelloFresh-Dev" clicando no canto superior direito do aplicativo postman.