Sociant Hub is an mini project for tracking and analyzing Twitter Followers on top of Symfony.
This project was created originally for private use to test the still existing twitter features. Due to some requests I worked on the project as a public accessible website, Sociant Hub.
This project uses TwitterOAuth by abraham for requests and Firebase Bundle by kreait and is based on Symfony 5.0.
To install Sociant Hub for your own use make sure you use PHP 8.0, a MySQL Database or higher, NodeJS 16 with npm and have Composer installed.
Clone with HTTPS: https://github.com/Sociant/Sociant-Hub.git
Clone with SSH: git@github.com:Sociant/Sociant-Hub.git
Run composer require
Run npm install
or yarn install
Warning: Sociant Hub uses fontawesome 5 pro packages which require a subscription.
Copy the contents of the given .env
file into a new file called .env.local
. To operate Sociant Hub properly you should fill out every given field.
Field | Description | Values | Example |
---|---|---|---|
APP_ENV | Symfony Enviroment | dev or prod |
dev |
APP_SECRET | Random generated secret | 4Tuepn6UZkasRLqEbshLC2RX | |
MAILER_DSN | DSN Settings for E-Mail delivery | Please consider checking out the Documentation | |
TWITTER_API_KEY | Public Twitter API Key | Please visit Twitter Developer for obtaining the key pair | |
TWITTER_API_SECRET_KEY | Secret Twitter API Key | Read above | |
TWITTER_CALLBACK_URL | Return URL after successful authentication | Read above | |
MOBILE_PLATFORM_SCHEMA | Schema Redirection after Login from mobile Device | socianthub://callback | |
FOLLOWER_LIMIT | Follower Limit for Follower Analytics | 70000 |
With the API-Integration Update Firebase is also added to the project. To configure the application correctly you have to
include the project-credentials.json from firebase into [Project-Root]/config/project-credentials.json
Firebase is included for Live-Notifications to connected mobile devices. You can find your project credentails under:
https://console.firebase.google.com/project/[your-project-id]/settings/serviceaccounts/adminsdk
Go to Firebase Admin SDK and click on generate new private key. (or use your already generated one) and copy the contents into your project-credentails.json
You can either run symfony via console with symfony server:start
or run it via Apache or Nginx. Visit Configuring a Web Server for more information.
Now you can Login from your given URL or local Port to visit your instance.
To automate requests you can add a cronjob for fetching the data automatically.
Example for Web Service in /var/www/html
every 5 Minutes:
*/5 * * * * php /var/www/html/bin/console app:update-user 1>> /dev/null 2>&1
Or you can update your data manually in the dashboard or for every user with php bin/console app:update-user
.
Please consider that due to API limitations you can only update every user once per hour.
- FontAwesome by Fortawesome
- ApexCharts by ApexCharts
- Framer Motion by Framer
- i18next by i18next
- React Router by remix-run
- Styled Components by styled components
Sociant Hub is released under the Apache-2.0 License
Sociant Hub was created by l9cgv as Project for SociantWD.
Thanks to DeZio91 and Marcel Malberg for testing out the application in beta state.
Thanks to everyone involved in version 1 and users of the Sociant Hub App. <3
Copyright © 2022 - Sociant WD