https://github.com/intracto/socialstatsbundle
Symfony bundle. Provides a way to show social media statistics.
https://github.com/intracto/socialstatsbundle
Last synced: 11 months ago
JSON representation
Symfony bundle. Provides a way to show social media statistics.
- Host: GitHub
- URL: https://github.com/intracto/socialstatsbundle
- Owner: Intracto
- License: mit
- Created: 2015-05-12T08:59:25.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-05-12T12:19:23.000Z (about 11 years ago)
- Last Synced: 2025-02-22T06:13:40.342Z (over 1 year ago)
- Language: PHP
- Homepage:
- Size: 117 KB
- Stars: 0
- Watchers: 34
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
SocialStatsBundle
=================
##Installation
Load the bundle in app/AppKernel.php
````
public function registerBundles()
{
$bundles = array(
...
new SocialStatsBundle\SocialStatsBundle()
);
....
````
Run composer update or install to make sure you have all necessary vendors installed.
Update your doctrine schema
````
php app/console doctrine:schema:update --force
````
You are now ready to configure the bundle.
##Bundle configuration
The following is required in your config.yml file.
````
social_stats:
twitter:
api_key: %social_stats.twitter.api_key%
api_secret: %social_stats.twitter.api_secret%
access_token: %social_stats.twitter.access_token%
access_token_secret: %social_stats.twitter.access_token_secret%
owner_id: %social_stats.twitter.api_owner_id%
facebook:
app_id: %social_stats.facebook.app_id%
api_secret: %social_stats.facebook.api_secret%
````
You need to specify your Facebook pages and Twitter names in the parameters.yml file. Your API authentication info goes here too.
````
social_stats.twitter.api_key: "EDIT ME"
social_stats.twitter.api_secret: "EDIT ME"
social_stats.twitter.access_token: "EDIT ME"
social_stats.twitter.access_token_secret: "EDIT ME"
social_stats.twitter.api_owner_id: "1234567890"
social_stats.twitter.usernames:
- "Intracto"
- "..."
social_stats.facebook.app_id: "123456789012345"
social_stats.facebook.api_secret: "EDIT ME"
social_stats.facebook.pages:
- "intracto"
- "..."
````
##Data structure
Every log has following properties.
| Property | Description|
| ------------- |:-------------:|
| ID | A unique identifier |
| Timestamp | A datetime field |
| Source | Source of data. E.g. Facebook|
| Account | Account of which we logged data. E.g. Intracto|
| Type | Type of data we logged E.g. likes|
| Content | Actual data. E.g. 15695 |
##Logging social media
Set up a cron job to execute these commands from the Symfony console. You can choose how often you log, but every 12 hours is recommended.
````
php app/console socialstats:log:facebook:page-likes-count
php app/console socialstats:log:twitter:follower-count
````
These commands will use the usernames or pagenames set up in your parameters.yml file, so make sure these are correct.
##Generating dummy data
When you have set up a few usernames or pagenames, you can create some dummy data to check out the functionality of this bundle. You do this by executing following command.
````
php app/console socialstats:generator:log-dummy-data
````
This will generate dummy data logs, for each account specified in parameters.yml. 100 logs will be created for each type (Likes, Follower count) of each social network (Facebook and Twitter).
````
php app/console socialstats:generator:log-dummy-data --quantity=50 Twitter
````
You can change the quantity and the social network (a.k.a. source) as you desire.
** Keep in mind that the command will not generate 50 logs in total. **
It will generate 50 logs for each username/page of all the logging types available for the source type.