Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikelovesolivia/telegram-chats-analyzer
A webtool for analyzing telegram chats
https://github.com/mikelovesolivia/telegram-chats-analyzer
Last synced: about 2 months ago
JSON representation
A webtool for analyzing telegram chats
- Host: GitHub
- URL: https://github.com/mikelovesolivia/telegram-chats-analyzer
- Owner: mikelovesolivia
- Created: 2024-10-10T19:32:14.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-10T21:30:57.000Z (3 months ago)
- Last Synced: 2024-10-17T00:58:18.053Z (3 months ago)
- Language: JavaScript
- Size: 9.28 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# telegram-chats-analyzer
Want an annual summary of your telegram chats with your best friend or lover?Here is a web app for you to analyze and visualize telegram chats!
## Setup
### Frontend (client)
- Ensure that you have set up Node and npm.
- Download the repo by running
`git clone https://github.com/mikelovesolivia/telegram-chats-analyzer.git`
- Go to the project folder and download the required packages by running```
cd client
npm install
```### Backend (server)
- Python version: 3.12.
- Set up the python environment by going to the project folder and running
```
cd server
pip install -r requirements.txt
```
- Download [PostgreSQL](https://www.postgresql.org/download/), which is used as the project database.
- Create a database named `chats` in PostgreSQL.
### Export Telegram ChatsPlease refer to this [link](https://telegram.org/blog/export-and-more) and export your chats in json format.
## Run the Application
Open two terminals at the project folder, and run the following commands respectively:
### Start the Frontend
```
cd client
npm start
```And the application will automatically shown in a browser. Or you can visit the webpage at http://localhost:3000.
### Start the Backend
First, please open `app.py` and change the username and password of PostgreSQL database to your own username and password.
```
cd server
python app.py
```Then the server will be started.
## How to Use
When you start the app, you will be directed to the welcome page in the browser:
After clicking on "START", you will see the start page where you can upload your chats files (json).
Just select your chats file, upload, enter a table name for your chats, and click on "process data", the chat data will be processed to a standard format and loaded to the database:
After refreshing, you will see your chat table created.
You can choose a chat table and have a quick preview of its first 10 rows.
You can either click on "Delete" to delete the table from the database or click on "Select" to use the chat data for analysis.
If you choose "select", you will be directed to a page where all of your contacts are shown.
Simply click on the contact whose chats you want to analyze, you will see a calendar showing all dates when you have at least a chat!
Now, you can select the start and end dates of your chats, and click "Confirm and Analyze"
Then you will go to the analysis page. Currently we only have a chat frequency heatmap calendar for you. Click on the "Select" button in the "Visualize Chat Frequency Calendar" card, and you will see your heatmap calendar!
More functions are in progress. Hope you can have fun!
## Work in Progress
- Add more functions like sentiment visualization, an interactive interface to view a chat annual summary, a rigorious statistical analysis of chats, and even incorporating ChatGPT to learn to chat like your selected contact! And ..., more!
- Beautify the web style and make it more user-friendly.
- Deploy the website on the internet for you to use more easily!Thank you, hope you will have fun! :)
## Tools Used:
- Frontend
- HTML, CSS, Bootstrap, JavaScript, React, Node, npm, axios- Backend
- Python, Flask, PostgreSQL, Pandas