Skip to content

Symfony bundle providing a Twitter reader for asynchronous reading + tests & CI experiments

License

Notifications You must be signed in to change notification settings

alexislefebvre/AsyncTweetsBundle

Repository files navigation

AsyncTweetsBundle

A Symfony bundle providing a Twitter reader for asynchronous reading

Packagist Latest Stable Version Latest Unstable Version

Builds: GA status Build status AppVeyor Circle CI

Code analysis: Scrutinizer Code Quality Scrutinizer Coveralls Code Climate Codacy StyleCI SymfonyInsight

Links

Goal

The goal of this project is to create an online Twitter reader, built with 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:

Steps:

  1. Install this bundle with Composer: composer require alexislefebvre/async-tweets-bundle

  2. Add the bundle in app/AppKernel.php:

    <?php
    
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new AlexisLefebvre\Bundle\AsyncTweetsBundle\AsyncTweetsBundle(),
        );
    }
    
  3. Enter your Twitter keys at the end of the app/config/parameters.yml file:

    twitter_consumer_key: null
    twitter_consumer_secret: null
    twitter_token: null
    twitter_token_secret: null
    
  4. 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 website
    
  3. 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

Tests:

make tests

Quality Assurance:

make qa