Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexislefebvre/asynctweetsbundle
Symfony bundle providing a Twitter reader for asynchronous reading + tests & CI experiments
https://github.com/alexislefebvre/asynctweetsbundle
bundle circleci php symfony symfony-bundle travis-ci twitter-keys
Last synced: about 1 month ago
JSON representation
Symfony bundle providing a Twitter reader for asynchronous reading + tests & CI experiments
- Host: GitHub
- URL: https://github.com/alexislefebvre/asynctweetsbundle
- Owner: alexislefebvre
- License: mit
- Created: 2015-04-01T21:34:19.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-03-09T20:57:20.000Z (over 3 years ago)
- Last Synced: 2024-05-09T20:58:42.782Z (6 months ago)
- Topics: bundle, circleci, php, symfony, symfony-bundle, travis-ci, twitter-keys
- Language: PHP
- Homepage: https://asynctweets.alexislefebvre.com/
- Size: 405 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AsyncTweetsBundle
A Symfony bundle providing a Twitter reader for asynchronous reading
[Packagist ![Latest Stable Version][Packagist Stable Image] ![Latest Unstable Version][Packagist Unstable Image]][Packagist]
Builds:
[![GA status][GitHub Actions image]][GitHub Actions]
[![Build status][Travis Master image]][Travis Master]
[![AppVeyor][AppVeyor image]][AppVeyor]
[![Circle CI][Circle CI image]][Circle CI]Code analysis:
[![Scrutinizer Code Quality][Scrutinizer image]
![Scrutinizer][Scrutinizer Coverage Image]][Scrutinizer]
[![Coveralls][Coveralls image]][Coveralls]
[![Code Climate][Code Climate image]][Code Climate]
[![Codacy][Codacy image]][Codacy]
[![StyleCI][StyleCI image]][StyleCI]
[![SymfonyInsight][SymfonyInsight Image]][SymfonyInsight]## Links
- Demo: https://asynctweets.alexislefebvre.com/demo/
- Code coverage: https://asynctweets.alexislefebvre.com/codecoverage/
- Doxygen: https://asynctweets.alexislefebvre.com/doxygen/
- ApiGen: https://asynctweets.alexislefebvre.com/apigen/## Goal
The goal of this project is to create an online Twitter reader, built with [Symfony][Symfony].
AsyncTweets retrieves and stores your timeline, allowing to read your Twitter timeline even if you're away from your Twitter client for several days.This bundle is also used to test several CI (Continuous Integration) services.
## Features
- Retrieve tweets by using User's Twitter keys
- Display the tweets with a pagination
- Display images below tweets## Installation
### Requirements:
- [Twitter keys][Twitter keys]
- PHP >= 7.2
- a database (must be supported by Doctrine2)
- [Symfony][Symfony GitHub] (3.4+) with [Composer][Composer]### Steps:
1. Install this bundle with Composer: `composer require alexislefebvre/async-tweets-bundle`
2. Add the bundle in app/AppKernel.php:app/config/parameters.yml file:
twitter_consumer_key: null
twitter_consumer_secret: null
twitter_token: null
twitter_token_secret: null4. Create the database and create the tables: `php app/console doctrine:schema:update --force --env=prod`
### Usage:
1. Launch this command to fetch tweets: `php app/console statuses:hometimeline --table --env=prod`, with the ` --table` option the imported tweets will be shown
2. Import the routes in your app/config/routing.yml:
asynctweets_website:
resource: "@AsyncTweetsBundle/Resources/config/routing.yml"
prefix: /asynctweets # Use only "/" if you want AsyncTweets at the root of the website3. Open the page with your browser `.../YOUR_DIRECTORY/web/asynctweets/` or use the following command `php app/console statuses:read --env=prod` to see tweets
4. Add `php app/console statuses:hometimeline --env=prod` in your crontab (e.g. every hour) to retrieve tweets automatically## Dependencies
- [symfony/symfony][Symfony GitHub] (3.4+)
- [abraham/twitteroauth][twitteroauth] (^0.6.0)
- [twitter/bootstrap][Twitter Bootstrap] (use [Bootswatch 3.3.2][Bootstrap CDN])### Tests:
make tests
### Quality Assurance:
make qa
[Packagist]: https://packagist.org/packages/alexislefebvre/async-tweets-bundle
[Packagist Stable Image]: https://poser.pugx.org/alexislefebvre/async-tweets-bundle/v/stable.svg
[Packagist Unstable Image]: https://poser.pugx.org/alexislefebvre/async-tweets-bundle/v/unstable.svg[Symfony]: https://symfony.com/
[Twitter keys]: https://apps.twitter.com/
[Symfony GitHub]: https://github.com/symfony/symfony
[Composer]: https://getcomposer.org/download/[GitHub Actions image]: https://github.com/alexislefebvre/AsyncTweetsBundle/actions/workflows/tests.yml/badge.svg
[GitHub Actions]: https://github.com/alexislefebvre/AsyncTweetsBundle/actions/workflows/tests.yml[Travis Master image]: https://travis-ci.org/alexislefebvre/AsyncTweetsBundle.svg?branch=master
[Travis Master]: https://travis-ci.org/alexislefebvre/AsyncTweetsBundle
[AppVeyor image]: https://ci.appveyor.com/api/projects/status/p3n423qlvnrkabg3/branch/master?svg=true
[AppVeyor]: https://ci.appveyor.com/project/alexislefebvre/asynctweetsbundle/branch/master
[Circle CI image]: https://circleci.com/gh/alexislefebvre/AsyncTweetsBundle/tree/master.svg?style=shield&circle-token=c02b18cc286ccd9420065675d92a2574524c5939
[Circle CI]: https://circleci.com/gh/alexislefebvre/AsyncTweetsBundle/tree/master[Scrutinizer image]: https://scrutinizer-ci.com/g/alexislefebvre/AsyncTweetsBundle/badges/quality-score.png?b=master
[Scrutinizer]: https://scrutinizer-ci.com/g/alexislefebvre/AsyncTweetsBundle/?branch=master
[Scrutinizer Coverage image]: https://scrutinizer-ci.com/g/alexislefebvre/AsyncTweetsBundle/badges/coverage.png?b=master
[Coveralls image]: https://coveralls.io/repos/github/alexislefebvre/AsyncTweetsBundle/badge.svg?branch=master
[Coveralls]: https://coveralls.io/github/alexislefebvre/AsyncTweetsBundle?branch=master
[Code Climate image]: https://codeclimate.com/github/alexislefebvre/AsyncTweetsBundle/badges/gpa.svg
[Code Climate]: https://codeclimate.com/github/alexislefebvre/AsyncTweetsBundle
[Codacy image]: https://api.codacy.com/project/badge/grade/0803f8e9a98c4abca2c9bcfe750e19c4
[Codacy]: https://www.codacy.com/app/alexislefebvre/AsyncTweetsBundle
[StyleCI image]: https://styleci.io/repos/33274240/shield
[StyleCI]: https://styleci.io/repos/33274240
[SymfonyInsight Image]: https://insight.symfony.com/projects/22448dd4-13ca-49ef-af7d-5f5bff1b3053/mini.svg
[SymfonyInsight]: https://insight.symfony.com/projects/22448dd4-13ca-49ef-af7d-5f5bff1b3053[twitteroauth]: https://github.com/abraham/twitteroauth
[Twitter Bootstrap]: https://github.com/twbs/bootstrap
[Bootstrap CDN]: https://www.bootstrapcdn.com/bootswatch/