{"id":25976883,"url":"https://github.com/theognis1002/labor-statistics-microservice","last_synced_at":"2026-04-21T05:34:21.828Z","repository":{"id":47018102,"uuid":"355545644","full_name":"theognis1002/labor-statistics-microservice","owner":"theognis1002","description":null,"archived":false,"fork":false,"pushed_at":"2022-07-01T14:23:12.000Z","size":3839,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-10-20T07:09:31.035Z","etag":null,"topics":["elasticsearch","flask","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theognis1002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-07T12:58:24.000Z","updated_at":"2023-10-20T07:09:31.036Z","dependencies_parsed_at":"2022-09-18T04:52:24.778Z","dependency_job_id":null,"html_url":"https://github.com/theognis1002/labor-statistics-microservice","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theognis1002%2Flabor-statistics-microservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theognis1002%2Flabor-statistics-microservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theognis1002%2Flabor-statistics-microservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theognis1002%2Flabor-statistics-microservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theognis1002","download_url":"https://codeload.github.com/theognis1002/labor-statistics-microservice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241966096,"owners_count":20050313,"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":["elasticsearch","flask","python3"],"created_at":"2025-03-05T04:29:31.106Z","updated_at":"2026-04-21T05:34:16.804Z","avatar_url":"https://github.com/theognis1002.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microservice Project - H1B Labor Statistics FY2019 API\n\n### Technologies Used\n-   `docker`\n-   `docker-compose`\n-   `flask`\n-   `gunicorn`\n-   `Elasticsearch`\n-   `nginx`\n---\n### Dependencies\n\n1. docker\n1. docker-compose\n\n---\n\n### Setup\n\n1. Install docker \u0026 docker-compose on Ubuntu machine\n    - `chmod +x ./setup_env.sh`\n    - `./setup_env.sh`\n1. `docker-compose up`\n    - import script may take awhile depending on the amount of CPU/RAM available\n\n---\n\n### Usage\n\n1.  Endpoints\n    -   `/`\n    -   `/salary`\n1.  Inputs _(must use query parameters)_:\n\n    -   Title query text (e.g. \"software engineer\" or \"java\")\n    -   Location query text (e.g. \"new york city\", \"Portland, Maine\")\n\n    ###### Example cURLs:\n\n    ```\n    curl --request GET \\ --url 'http://localhost:5000/salary?location=NY\u0026job_title=software'\n    ```\n\n1.  Outputs:\n\n    -   Number of results\n    -   Mean salary\n    -   Median salary\n    -   25% percentile salary\n    -   75% percentile salary\n\n        ###### Example output:\n\n    ```\n    {\n      \"num_results\": 5,\n      \"statistics\": {\n        \"mean_salary\": {\n          \"value\": 128899.6\n        },\n        \"median_salary\": {\n          \"values\": {\n            \"50.0\": 125000.0\n          }\n        },\n        \"salary_percentiles\": {\n          \"values\": {\n            \"25.0\": 103377.0,\n            \"75.0\": 142447.5\n          }\n        }\n      }\n    }\n    ```\n\n---\n\n### Additional Notes\n\n1. If deployed on a VM, the security group must allow incoming TCP requests on port 80.\n1. Only tested on an Ubuntu machine - unfortunately cannot guarantee smooth deployment on all other operating systems\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheognis1002%2Flabor-statistics-microservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheognis1002%2Flabor-statistics-microservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheognis1002%2Flabor-statistics-microservice/lists"}