این پروژه سعی داره تا حد امکان از گذشته مشهدلاگ اطلاعات در بیاره و در قالب json line این اطلاعات رو استخراج کنه. بعد از اون اطلاعات پردازش میشن و با استفاده داده های پردازش شده میتوان رزومه مشهدلاگ، وبسایت مشهدلاگ، آمار آنچه اتفاق افتاده و هر چیزی که نیاز به سوابق لاگ داره رو بهتر کرد و به نمایش گذاشت.
این پروژه به اعتماد و برندینگ مشهدلاگ قراره کمک کنه و به حامی ها کمک کنه تا ارزش واقعی مشهدلاگ رو متوجه بشن. همچنین کاربران مشهدلاگ هم ممکنه از دیدن این آمار ها لذت ببرن.
از هرگونه مشارکت در این پروژه استقبال خواهد شد.
- python3
- fzf
- jq
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
nano .env
export $(grep -v '#' .env | xargs)این اسکریپت تمام پیام های تلگرام رو با فرمت json line استخراج میکنه و خروجیش رو میشه ریخت تو فایل و با ابزار های دیگه پردازشش کرد.
این اسکریپت پیام های گرفته شده از مشهدلاگ رو سعی میکنه یکم فیلتر کنه و مرتب تر کنه ساختارشون رو تا راحت تر بشه باهاشون کار کرد.
- نمودار تعداد جلسات برگزار شده در هر سال
- موضوعات ارائه شده به صورت کلی
- اقشار مختلف مخاطب هامون
- اقشار مختلف ارائه دهنده هامون
- نموداری از حامیان با دسته بندی شون. مثلا اکادمیک، دولتی، شرکت، بیزنس های کوچک، کافی شاپ ها، سازمان های غیر انتفاعی
فعلا فقط داده جلسات رو لازم داریم و قراره که غیر از جلسات چیزی بهمون نده.
از همون داده جلسات نیاز به خروجی json line جدید داریم که هر خط موارد زیر رو داشته باشه:
- تاریخ جلسه
- موضوعات جلسه
- ارائه دهنده ها
- اسپانسر ها
- ادرس
- شماره جلسه
فیلتر کردن جلسات و استخراج داده از تمام پیام های موجود:
grep -e "جلسه" -e "نشست" bucket/telegram-channel.jsonl |
./filter_events.py >> bucket/events-insight.jsonl دستور بالا قراره تمام اطلاعات لازم رو برای هر جلسه موجود بهمون بده که بعد با یک سری اسکریپت ساده نمودار و جداول مورد نیاز مون رو درست کنیم.
میتوانید از اسکریپت های نوشته شده با bash استفاده کنید تا داده ها را تمیز تر کنید.
اسکریپت json-lug-sanitizer.sh
قراره بر اساس یک سری الگو داده های پرت رو پاک کنه.
اسکریپت json-remover.sh با استفاده از fzf قراره مقادیر رو نشون بده و بعد
با انتخاب کردن مقادیر غلط و بدردنخور و فشردن اینتر اون داده ها حذف میشن.
برای اینکه چند مقدار رو باهم انتخاب کنید میتونید دکمه شیفت و تب رو بزنید تا انتخاب بشه.
اسکریپت extract-data.sh داده های موردنیاز رو برامون لیست میکنه تا بتونیم راحت تر ازشون استفاده کنیم.