{"id":18658533,"url":"https://github.com/voliveirajr/tweetflock","last_synced_at":"2026-05-01T16:32:09.044Z","repository":{"id":81345699,"uuid":"154518458","full_name":"voliveirajr/TweetFlock","owner":"voliveirajr","description":"A SpringBoot RestAPI using Spring Social integrating with Twitter and Caffeine cache.","archived":false,"fork":false,"pushed_at":"2019-02-28T13:43:02.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-06T08:06:44.275Z","etag":null,"topics":["caffeine-cache","docker","rest-api","spring-boot","twitter","twitter-trends"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voliveirajr.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":"2018-10-24T14:46:41.000Z","updated_at":"2019-02-28T13:43:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"80cd6a2b-19de-4b9b-beab-2383baf0b534","html_url":"https://github.com/voliveirajr/TweetFlock","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/voliveirajr/TweetFlock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FTweetFlock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FTweetFlock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FTweetFlock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FTweetFlock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voliveirajr","download_url":"https://codeload.github.com/voliveirajr/TweetFlock/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FTweetFlock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32505053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["caffeine-cache","docker","rest-api","spring-boot","twitter","twitter-trends"],"created_at":"2024-11-07T07:33:20.484Z","updated_at":"2026-05-01T16:32:09.018Z","avatar_url":"https://github.com/voliveirajr.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README #\n\nThis is an example exercising the use of Spring Boot and Spring Social Twitter project.\nIt provides an API endpoint that accepts a country code (limited to UK and US for simplicity) and returns the latest twitter trends for that location, along with the top 10 tweets for that twitter trend.\n\n### Requirements ###\n\nThis application was built and tested using:\n\n* Java 1.8.0_181\n* Maven 3.5.3\n* Docker 18.06.1-ce\n\n### TL;DR ###\nConfiguration available at:\n\n```\n/src/main/resources/application.properties\n```\n\nTo build and start application\n\n```\n./tweetflock.sh start\n```\n\nThe application will be available at URL:\n\n```\nhttp://localhost:8080/api/tweetflock/\u003cCountry Code\u003e\n```\n\ne.g.\n```\ncurl -X GET -H 'Content-Type: application/json' -i 'http://127.0.0.1:8080/api/tweetflock/us'\n```\n\nTo stop application\n\n```\n./tweetflock.sh stop\n```\n\n### Configuration ###\n\nThere is available a configuration file where you can setup debug level, cache settings and twitter account secrets.\n\n```\n/src/main/resources/application.properties\n```\n\nAll settings are optional despite the following twitter secrets settings:\n\n```\nspring.social.twitter.appId={APPID}\nspring.social.twitter.appSecret={APP_SECRET}\ntwitter.access.token={TOKEN}\ntwitter.access.token.secret={TOKEN_SECRET}\n```\n\nFor optimisation purposes, was added a cache for the api requests, by default is configured to retain cache for 60 minutes\nMore details about how was adopted this solution in next sessions.\n\n```\nspring.cache.caffeine.spec=expireAfterWrite=60m\n```\n\n### How to build? ###\n\nIf you want to build and execute manually instead use provided script you should follow these steps\n\nAs a maven project, should be executed:\n\n```\n#!shell\nmvn clean package\n```\nIt will run tests, generate your snapshot version jar and create a new docker image, you can check created image as following\n\n```\n#!shell\n$ docker images\nREPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE\ncom.volmar/tweetflock        latest              b59a9ec0130c        18 minutes ago      121MB\n```\n\n### Running ###\n\nThe script runs the container with the application as a daemon, if you want run attached to terminal, check debug logs you can run manually\n\n```\ndocker run --name=api -p 8080:8080 com.volmar/tweetflock\n```\n\nYou should get application available at:\n\n```\nhttp://localhost:8080/api/tweetflock/\u003cCountry Code\u003e\n```\ne.g.\n```\ncurl -X GET -H 'Content-Type: application/json' -i 'http://127.0.0.1:8080/api/tweetflock/us'\n```\n\nThe only supported contry codes are `US` and `UK`, any other else will return `HTTP 400`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoliveirajr%2Ftweetflock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoliveirajr%2Ftweetflock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoliveirajr%2Ftweetflock/lists"}