├── .github └── FUNDING.yml ├── .gitignore ├── README.md ├── client ├── .babelrc ├── .dockerignore ├── .gitignore ├── Dockerfile ├── README.md ├── docs │ └── example_messages.json ├── nginx.conf ├── package-lock.json ├── package.json ├── public │ ├── favicon.svg │ ├── index.html │ └── manifest.json ├── src │ ├── assets │ │ ├── img │ │ │ └── messenger │ │ │ │ ├── 1.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── 5.png │ │ │ │ ├── 6.png │ │ │ │ ├── 7.png │ │ │ │ └── 8.png │ │ └── svg │ │ │ ├── camera.svg │ │ │ ├── chat.svg │ │ │ ├── chatting.svg │ │ │ ├── emoji.svg │ │ │ ├── heart.svg │ │ │ ├── image.svg │ │ │ ├── index.js │ │ │ ├── instagram.svg │ │ │ ├── link.svg │ │ │ ├── messenger.svg │ │ │ ├── telegram.svg │ │ │ ├── upload.svg │ │ │ └── whatsapp.svg │ ├── components │ │ ├── chat-bubble │ │ │ ├── index.tsx │ │ │ └── styles.scss │ │ ├── dropdown │ │ │ ├── index.tsx │ │ │ └── styles.scss │ │ ├── loader │ │ │ ├── index.tsx │ │ │ └── styles.scss │ │ ├── ribbon │ │ │ ├── index.tsx │ │ │ └── styles.scss │ │ └── waves │ │ │ ├── index.tsx │ │ │ └── styles.scss │ ├── constants │ │ └── social-network.ts │ ├── declaration.d.ts │ ├── index.tsx │ ├── pages │ │ ├── analytics │ │ │ ├── index.tsx │ │ │ ├── sections │ │ │ │ ├── date-time-messages │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── styles.scss │ │ │ │ ├── emojis │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── styles.scss │ │ │ │ ├── header │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── styles.scss │ │ │ │ ├── index.tsx │ │ │ │ ├── overview │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── styles.scss │ │ │ │ └── participant-messages │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── styles.scss │ │ │ └── styles.scss │ │ ├── home │ │ │ ├── index.tsx │ │ │ ├── sections │ │ │ │ ├── footer │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── styles.scss │ │ │ │ ├── get-started │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── steps.ts │ │ │ │ │ └── styles.scss │ │ │ │ ├── hero │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── styles.scss │ │ │ │ └── index.tsx │ │ │ └── styles.scss │ │ └── not-found │ │ │ ├── index.tsx │ │ │ └── styles.scss │ ├── styles │ │ ├── colors.scss │ │ └── globals.scss │ └── utils │ │ ├── formatters.ts │ │ └── types.ts ├── tsconfig.json └── webpack.config.js ├── docker-compose.yml ├── docs ├── chat-report.png └── demo.gif └── server ├── .dockerignore ├── .gitignore ├── Dockerfile ├── README.md ├── requirements.txt ├── resources ├── chat.py ├── handlers │ └── messenger.py └── utils │ └── utils.py └── server.py /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | ko_fi: vitorcodes 4 | custom: ['https://www.buymeacoffee.com/vitorcodes', 'https://tinyurl.com/cryptorequest'] 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ChatView 2 | 3 | Web app that generates reports on social media chat history, such as **Messenger**, **Whatsapp**, **Instagram** and **Telegram**. 4 | 5 |
6 |
7 |
105 | In our conversation, we used 106 | {different_emojis_used} 107 | different Emojis 108 |
109 |122 | With 123 | {withCommas(top_emojis[0][1])} 124 | appearances: 125 |
126 |128 | was our 129 | favourite 130 | Emoji 131 |
132 |{formatDuration(duration)}
69 |126 | Considering our 127 | {ratio} 128 | ratio, I'd say that 129 | {balanceOpinion} 130 |
131 |148 | {participantA.name} sent 149 |
150 |159 | {participantB.name} sent 160 |
161 |
89 | Have you ever wanted to get insights of your conversations?
90 |
91 | ChatView provides data visualizations of your social
92 | media chat history.
93 |