For this project both backend and frontend (including design) were developed as an internal prototype for a company that wanted to monitor selected word combinations in real-time on Twitter and send out warning emails when selected word combinations were occurring unusually often.
The application backend is based on Java, Spring Boot and PostgreSQL. It processes roughly 6000 tweets per minute and performs statistical analysis of the occurrence rates of hundreds of configured word combinations over time, tracking the average number of tweets per hour and the relative change of frequency. When configured thresholds are exceeded warning emails are sent out.
The frontend is based on TypeScript and React using the Materialize CSS framework. It shows relevant statistics for the configured word combinations including a real-time graph displaying the number of tweets per hour. Additionally a live-stream of relevant tweets and a map with tweet locations are displayed.