[6.3 Prototype] Chatbot Messaging Service - FEUP-MEIC-DS-2025-26/madeinportugal.store GitHub Wiki

Overview

Our team is responsible for developing and validating the messaging microservice that enables communication between users and the platform’s automated support chatbot. The goal is to ensure that customers can obtain help quickly, clearly and reliably throughout their shopping experience from product browsing to order tracking.

The service supports real-time interactions, reliable message delivery and seamless integration with the larger e-commerce ecosystem. It must provide a smooth and intuitive chat interface while enforcing high standards of security, privacy, and performance.

Prototype Functionalities Overview

This prototype will validate the following functionalities provided by the Messaging API:

  • Real-time text messaging between users and chatbot.
  • Automated responses with contextual understanding (FAQs, product inquiries, order status).
  • Persistent conversation history stored and retrievable across devices.
  • Clear identification of chatbot vs human agent message sources.
  • Escalation workflow to human support when the bot cannot resolve an issue.
  • Secure transport and storage of all communication data.

Technologies Used

Frontend

  • Responsive chat UI
  • WebSockets support for real-time updates

Middleware

  • Authentication through the platform’s existing session/token system
  • API Gateway routing requests to the messaging microservice

Backend

  • Express.js application providing REST endpoints and WebSocket server
  • Messaging logic, conversation management, chatbot connectors
  • PostgreSQL used as the main data store (conversations, messages, metadata)

Libraries used

Frontend

Dependencies

  • react — ^18.3.1
  • react-dom — ^18.3.1
  • react-router-dom — ^7.9.5

DevDependencies

  • @module-federation/rsbuild-plugin — ^0.21.3
  • @rsbuild/core — ^1.2.15
  • @rsbuild/plugin-react — ^1.1.1
  • @types/react — ^18.3.11
  • @types/react-dom — ~18.3.1
  • typescript — ^5.7.2

Backend

Dependencies

  • cors — ^2.8.5
  • express — ^5.1.0
  • pg — ^8.16.3

DevDependencies

  • dotenv — ^17.2.3
  • nodemon — ^3.1.10

API

Architecture

Sprint Retrospectives

Sprint retrospectives can be found here

Sprint Review

Sprint review can be found here

Changelog

A changelog of your prototype can be found here

Development

A guide on how to start development in this project can be found in our repository

Additional Information

Team

  • Class: 6
  • Group: 3

Members

  • Jorge Mesquita (202108614)
  • Rafael Campeão (202207553)
  • Miguel Fernandes (202207547)
  • Diogo Silva (202205981)
  • Diogo Pintado (202108875)