This project is a learning exercise in PHP Laravel and VueJS, focusing on building a chat application with various features and integrations.
This application allows users to interact with an AI-powered staff member. It includes features such as a simple user logging, message handling, feedback collection, and data visualization.
Upon loading the initial page you will be presented with a chat panel.
- You enter your name, the AI will call the
Register
tool. - You may ask questions about the company such as:
- Who is SeventyTwo?
- What clients do you have?
- Do you have any jobs available?
- What staff do you have?
- The AI will call the
Scrape
tool and scrape the site for answers, and is 70% accurate.
Type and send:
- Bye
You will now see the rating panel to rate your conversation.
- Choose a rating, add a comment and submit.
This page requests data from the API, which responds with data from the MySQL database. Data is represented in tables and a graph.
- Chat Interface: A Vue.js-based frontend with Vue Routing for user interactions.
- AI Integration: Uses Ollama API for generating AI responses.
- User Management: Simple user logging and tracking.
- Conversation Handling: Stores and manages chat conversations.
- Feedback System: Allows users to rate their chat experience.
- Statistics Page: Displays user engagement and conversation metrics.
- Web Scraping: Integrated functionality to scrape content from a specified website.
- Backend: PHP with Laravel framework
- Frontend: Vue.js
- Database: MySQL
- API: RESTful API endpoints for chat, user management, and statistics
- Styling: Tailwind CSS and various plugins
- ChatController: Handles the main chat logic, including message processing and user interactions.
- OllamaController: Integrates with the Ollama API for AI-powered responses.
- ScraperController: Implements web scraping functionality.
- User, Message, and Feedback Models: Define the data structure for the application.
- User, Message, and Feedback Migrations: To provision the database tables.
- Vue Components:
HomePage.vue
,StatsPage.vue
, and others for the frontend interface. - API Routes: Defined in
routes/api.php
for various functionalities.