{"id":24792659,"url":"https://github.com/titomiguelcosta/hammer","last_synced_at":"2025-03-24T15:40:21.000Z","repository":{"id":37549161,"uuid":"125795985","full_name":"titomiguelcosta/hammer","owner":"titomiguelcosta","description":"API from a developer to other developers","archived":false,"fork":false,"pushed_at":"2023-04-19T21:16:58.000Z","size":7541,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-29T20:44:20.790Z","etag":null,"topics":["api","elasticbeanstalk","github-api","linkedin-api","symfony4","twitter-api"],"latest_commit_sha":null,"homepage":"https://api.hammer.titomiguelcosta.com/v1/docs","language":"PHP","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/titomiguelcosta.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":"2018-03-19T03:24:00.000Z","updated_at":"2021-12-31T12:07:46.000Z","dependencies_parsed_at":"2023-02-01T01:31:49.323Z","dependency_job_id":null,"html_url":"https://github.com/titomiguelcosta/hammer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titomiguelcosta%2Fhammer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titomiguelcosta%2Fhammer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titomiguelcosta%2Fhammer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/titomiguelcosta%2Fhammer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/titomiguelcosta","download_url":"https://codeload.github.com/titomiguelcosta/hammer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245300824,"owners_count":20593048,"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","elasticbeanstalk","github-api","linkedin-api","symfony4","twitter-api"],"created_at":"2025-01-29T20:39:26.438Z","updated_at":"2025-03-24T15:40:20.978Z","avatar_url":"https://github.com/titomiguelcosta.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"HAMMER\n======\n\nAPI by developers for developers\n--------------------------------\n\nHammer is an API that exposes services that developers normally use so they can build a mobile app or website on top of it. \n\nFor now it integrates with:\n\n* GitHub\n* Twitter\n* LinkedIn\n\n## Installation\n\nCopy the .env to .env.local and add configuration for the services you want to use.\n\n* [GitHub](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)\n* [Twitter](https://apps.twitter.com/)\n* [LinkedIn](https://www.linkedin.com/developer/apps) \n\n## Development\n\nThe API is powered by Symfony 4 and it only needs a server running PHP 7.2 and a database (MySQL/SQLite).\n\nConfiguration for Docker is provided. To develop locally, just run:\n\n$ docker-compose up\n\n## Endpoints\n\nIt is a read-only API. All the endpoints return JSON and just proxy the original API responses.\n\nIt uses Nelmio API Docs, check /v1/docs.\n\n### Libraries\n\n* [GitHub](https://github.com/KnpLabs/php-github-api)\n* [Twitter](https://github.com/abraham/twitteroauth)\n* [LinkedIn](https://github.com/zoonman/linkedin-api-php-client)\n\n## Deployment\n\nConfiguration was added to deploy to [AWS ElasticBeanstalk](https://docs.aws.amazon.com/elasticbeanstalk). \n\nMake sure you have the command [eb](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3.html) available. Tested with: EB CLI 3.14.3, aws-cli/1.15.20 (Python 3.6.1).\n\n* pip install -r requirements.txt\n* aws configure --profile hammer\n\n* aws ec2 create-key-pair --profile hammer --key-name=hammer --query 'KeyMaterial' --output text \u003e ~/.ssh/hammer.pem\n* chmod 400 ~/.ssh/hammer.pem\n\nCreate certificate, check your e-mail and validate before proceeding, and edit .ebextensions/00-custom.config with the certificate ARN\n* aws acm request-certificate --profile hammer --domain-name titodevops.com --idempotency-token=frgasaseae3e2da --subject-alternative-names *.titodevops.com\n\n* php composer.phar install\n* make build\n\n* Init project: eb init hammer --profile hammer --quiet \n* Create an environment: eb create development\n* Configure environment variables: eb setenv APP_NAME=hammer *NAME*=*VALUE* ...\n* Deploy a new version: eb deploy development\n\n## Resources\n\n* https://aws.amazon.com/blogs/devops/using-the-elastic-beanstalk-eb-cli-to-create-manage-and-share-environment-configuration/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitomiguelcosta%2Fhammer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftitomiguelcosta%2Fhammer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftitomiguelcosta%2Fhammer/lists"}