The data architecture of BWave is based on the following diagram:
As you can see, we rely on the following technologies:
- PostgreSQL for the relational database
- ChatGPT for the chatbot and for conversation analysis
- Redis for establishing connections between users and the chatbot
- MongoDB as a document database serving as a Data Lake and for the Formatted Zone
- Neo4j for the graph database used for the Recommendation Engine
- Apache Kafka for the streaming platform, used to get trending topics
- Apache Spark for the batch processing of the data to format it and to store it in Neo4j
- Apache Airflow for the orchestration of the batch processing
- Although not shown in the diagram, we use Django as a web framework for the backend
If you want to learn more about the data architecture and the integration of ChatGPT, you can read our Technology Report.
If you want to learn more about how we leverage the graph database to recommend new friends, you can read our Recommendation Report.