✨ ChatEase - Intelligent Conversational Assistant ✨

by Gibran Fasha Ghazanfar 💫

Overview

This project, ChatEase, is a web-based intelligent conversational assistant designed to provide seamless interaction with users. The assistant leverages the power of Ollama with the Meta Llama3 model to generate accurate and context-aware responses. This project was developed as part of the Study Case MSIB Batch 7 - Telkom Indonesia.

Features Implemented

  • Real-time chatbot using llama3 (8b) model.
  • Conversation and message history.
  • Message recommendations to start a conversation.
  • User-friendly interface with a clean and responsive design.

Prerequisites

Tech Stack

Frontend

Backend

LLM

Packages

  • Marked (latest version): A Markdown parser and compiler.

Tools Used

  • Visual Studio Code: Code editor used for development.
  • Git: Version control system.
  • Laragon: Local development environment for PHP, including:
    • HeidiSQL: Database management tool.
    • Apache: Web server.
    • MySQL: Relational database management system.
  • Postman: API client for testing and developing APIs.

Branching

  • main is the main branch that will be used for deployment (production)

Commit Message Convention (Semantic)

  • feat: (new feature for the user, not a new feature for build script)
  • fix: (bug fix for the user, not a fix to a build script)
  • docs: (changes to the documentation)
  • style: (formatting, missing semi colons, etc; no production code change)
  • refactor: (refactoring production code, eg. renaming a variable)
  • test: (adding missing tests, refactoring tests; no production code change)
  • chore: (updating grunt tasks etc; no production code change)

How to Run Locally

Frontend

  1. Clone this repository (branch main) if you haven't already.
  2. Navigate to the client folder.
  3. Open the project folder in Visual Studio Code (code . in CLI).
  4. Open the terminal and run npm install.
  5. Run npm run dev.
  6. Open your browser and go to localhost:3000.

Backend

  1. Clone this repository (branch main) if you haven't already.
  2. Navigate to the server folder.
  3. Open the project folder in Visual Studio Code (code . in CLI).
  4. Copy .env.example to .env and fill in the necessary environment variables.
  5. Open the terminal and run composer install.
  6. Run php artisan migrate.
  7. Run php artisan serve.
  8. Open your browser and go to localhost:8000.

AI (LLM)

  1. If Ollama is already installed and not yet running also llama3 (8b) model has been downloaded, open a new terminal in cmd.
  2. Execute ollama serve and it should be accessible at localhost:11434.

Database Design

DB-Diagram

Application Screenshots

Default Page

chat-1-page

Conversation Selected Page

chat-2-page

Ask Assistant Process Page

chat-3-page

Demo Video Recording

Google Drive

How to Contribute

  1. Fork this repository to your GitHub account.
  2. Clone the forked repository to your local machine.
  3. Create a new branch corresponding to the feature you want to work on or the bug you want to fix.
  4. Commit and push your changes to that branch (make sure not to make changes directly to the main branch).
  5. Create a pull request to the main branch of this repository.
  6. Wait for the reviewer to review and merge your pull request.
  7. If the reviewer requests changes, make the requested changes, commit, and push them to the same branch, then notify the reviewer that the changes have been made.
  8. Once your pull request is approved, it will be merged into the main branch, and the branch you created will be deleted (to avoid unused branches).

Feel free to contribute to this project by fixing existing bugs, adding new features, or improving documentation. Happy coding 🎉!

Note

For this project, I am prioritizing the role of Backend Engineer. However, I am also very interested in and excited about Fullstack Engineering. If possible, I would love to work on both frontend and backend tasks to leverage my skills across the entire stack.

Author