EXPA Bot was created to get information from EXPA System through an API GraphQL and to save on PostgreSQL's Database where International AIESEC give us a specific TOKEN to access that.
Then the bot use start date and end date of event to get information about approved,accepted,realized and applications of Exchange Participant from AIESEC. If bot to take any information that already there is on our database, it will update the information else it will insert new information.
With all information that I've been collected, I've done 2 dashboards for AIESEC to follow their KPI (Key Performance Indicator) and MOS(measures of success).
OGX - Outgoing Exchange - http://bit.ly/apdsogxv1
ICX - Incoming Exchange - http://bit.ly/apdsicxv1
|-- api
|--graphqlconsume.py
|--querygraphql.py
|-- controller
|--RobotRotine.py
|-- database
|--conexao.py
|-- _get_accepted_.py
|-- _get_applications_.py
|-- _get_approved_.py
|-- _get_realized_.py
Expa bot has been hosted on AWS Server by AIESEC in Brazil
Required:
Token AIESEC
Python 3.7.5 or more
Node 10x
PostgreSQL's Database or other( But you will need change a lib to use your data base)
Tips about Linux's Environment:
Before everything you need to rum this command:
sudo apt updateInstall Python 3:
sudo apt-get install python3Install pip 3:
sudo apt-get install python3-pipInstall Node:
sudo apt install nodejsInstall npm:
sudo apt install npmCreate specific tables in your database,executing script below:
script_bd.sqlInstall all python's dependencies with script below:
pip install -r requirements.txt
pip3 install -r requirements.txt(linux)Install lib "pm2" on your node.js with NPM:
npm install -g pm2After every installations you can execute the bot,at directory's project with console CMD:
pm2 start _get_accepted_.py
pm2 start _get_applications_.py
pm2 start _get_approved_.py
pm2 start _get_realized_.pyif your linux has other versions installed, you need to use:
pm2 start _get_accepted_.py --interpreter python3
pm2 start _get_applications_.py --interpreter python3
pm2 start _get_approved_.py --interpreter python3
pm2 start _get_realized_.py --interpreter python3#TIPS PM2#
List all bots:
pm2 listStop a bot:
pm2 stop _get_realized_.pyShow bot's log:
pm2 logs _get_realized_.pyThere are many commands on PM2 you can see at all in its documentation https://www.npmjs.com/package/pm2.






