{"id":15091380,"url":"https://github.com/rabestro/pig-latin-rest","last_synced_at":"2025-09-09T04:39:20.356Z","repository":{"id":214084649,"uuid":"735633231","full_name":"rabestro/pig-latin-rest","owner":"rabestro","description":"A project for experimenting with OpenAPI specification and API testing.","archived":false,"fork":false,"pushed_at":"2024-10-04T08:29:58.000Z","size":4331,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-31T10:51:26.921Z","etag":null,"topics":["api-testing","code-generation","openapi-specification","openapi3"],"latest_commit_sha":null,"homepage":"https://rabestro.github.io/pig-latin-rest/","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rabestro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-25T16:10:39.000Z","updated_at":"2024-07-30T05:49:49.000Z","dependencies_parsed_at":"2024-01-29T10:47:37.776Z","dependency_job_id":"5b426e0a-2ebc-40b7-a529-ab9bdf22d719","html_url":"https://github.com/rabestro/pig-latin-rest","commit_stats":null,"previous_names":["rabestro/pig-latin-rest"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabestro%2Fpig-latin-rest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabestro%2Fpig-latin-rest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabestro%2Fpig-latin-rest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabestro%2Fpig-latin-rest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rabestro","download_url":"https://codeload.github.com/rabestro/pig-latin-rest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223502361,"owners_count":17155938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-testing","code-generation","openapi-specification","openapi3"],"created_at":"2024-09-25T10:40:44.500Z","updated_at":"2024-11-07T11:05:01.316Z","avatar_url":"https://github.com/rabestro.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=lv.id.jc%3Apig-latin-rest\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=lv.id.jc%3Apig-latin-rest)\n[![API docs](https://img.shields.io/badge/API-docs-informational)](https://piglatin.azurewebsites.net/swagger-ui/index.html)\n[![Deployed on Azure](https://img.shields.io/badge/Deployed%20on-Azure-blue)](https://piglatin.azurewebsites.net)\n\n# Pig Latin Translator\n\nThis is a REST application that translates English sentences into Pig Latin. The rules and instructions for the Pig Latin translation were obtained from the [Pig Latin exercise on the Exercism Java Track](https://exercism.org/tracks/java/exercises/pig-latin).\n\nThe application was created to experiment with the API-first approach: the OpenAPI specification was created first, then the code was generated for Spring, and finally, custom code was added that depends on the generated code.\n\n## Getting Started\n\nBefore opening the code for editing, run the following command to generate the necessary code:\n\n```bash\nmvn clean compile\n```\n\nThis command cleans the project, compiles the source code, and generates the code that the custom code depends on. After running this command, you should be able to open the code without getting any error messages.\n\n## Running the Application Locally\n\nTo run the application locally, use the following command:\n\n```bash\nmvn clean compile spring-boot:run\n```\nThis will start the application on localhost:8080. You can access the Swagger UI at http://localhost:8080/swagger-ui/ and the application endpoint at http://localhost:8080/pig-latin.\n\n## Deployed Application\n\nThe application is deployed on Azure at https://piglatin.azurewebsites.net.\n\nYou can use the simple [web interface](https://piglatin.azurewebsites.net) and the [Swagger UI](https://piglatin.azurewebsites.net/swagger-ui/index.html).\n\nPlease note that the application is deployed on the free-tier F1 plan. This means that if the application is in sleep mode, it may take about a minute for the first API call to wake it up. Subsequent API calls should be faster.\n\n## API Testing\n\nThe application includes API tests written with frameworks:\n- [Karate](https://www.karatelabs.io/)\n- [Bruno](https://www.usebruno.com/)\n- [Hurl](https://hurl.dev/)\n- [httpYac](https://httpyac.github.io/)\n- [JetBrains HTTP Client](https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html)\n- [Apache jMeter](https://jmeter.apache.org/)\n\n### Bruno\n\nTo run the Bruno API tests, use the following commands:\n\n```bash\ncd bruno-test\nnpm run test\n```\n\nSuccessful test report:\nhttps://github.com/rabestro/pig-latin-rest/runs/20357669812\n\nFailed test report:\nhttps://github.com/rabestro/pig-latin-rest/runs/20706167144#r0s1\n\n\u003e [!NOTE]\n\u003e Note - Bruno's script support might also be used for light test automation based on project specifics.\n\n### JetBrains HTTP Client\n\n[![HTTP Client - Secret Weapon for Web Service Testing](https://img.youtube.com/vi/VMUaOZ6kvJ0/default.jpg)](https://www.youtube.com/watch?v=VMUaOZ6kvJ0)\n\n[![HTTP Client CLI](https://img.youtube.com/vi/mwiHAukbWjM/default.jpg)](https://www.youtube.com/watch?v=mwiHAukbWjM)\n\n\nSuccessful test report:\nhttps://github.com/rabestro/pig-latin-rest/runs/20240718373\n\nFailed test report:\nhttps://github.com/rabestro/pig-latin-rest/runs/20241724987\n\n### httpYac - the Free alternative of JetBrains HTTP Client\n\nhttps://httpyac.github.io/\n\n### Karate\n\nTo run the Karate API tests, use the following command:\n\n```bash\nmvn clean test -Dtest=TestRunner\n```\n\n### Performance Testing by Apache jMeter\n\nLoad Test [Descriptive Summary/Conclusions](https://a.blazemeter.com/app/executive-summary/index.html?master_id=71758198\u0026selectedTimeMeasure=milliseconds#/) and [Full Report](https://a.blazemeter.com/app/?public-token=N8EAygRaczgVrG5dVfzaiW08KETtECXvph3X6BDkXV6CoIi2pM#/accounts/1886840/workspaces/1958186/projects/2311430/masters/71758198/summary)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frabestro%2Fpig-latin-rest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frabestro%2Fpig-latin-rest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frabestro%2Fpig-latin-rest/lists"}