final-year-project

Chatalyst: React Messaging Application with Integrated AI for Smart Replies.

https://github.com/ryan-harte/final-year-project

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

golang html javascript mui python react sql
Last synced: 6 months ago · JSON representation ·

Repository

Chatalyst: React Messaging Application with Integrated AI for Smart Replies.

Basic Info
  • Host: GitHub
  • Owner: ryan-harte
  • Language: TypeScript
  • Default Branch: main
  • Homepage:
  • Size: 66.8 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
golang html javascript mui python react sql
Created over 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Citation

README.md

Chatalyst

Ethan Conneely (G00393941)
Ryan Harte (G00338424)

Introduction

This is a final year project for ATU Galway where we undertook creating an AI powered chat service. This service is usable on both desktop and mobile by going to https://chatalyst.ethanconneely.com/ and signing up with a google account.

Structure

  • /src - Contains source code to frontend, backend and LLM
  • /Documentation - Contains various documentation related to the project
  • /Ethan Conneely (G00393941) - Contains all material for submission including latex documents and video overview by Ethan Conneely.
  • /Ryan Harte (G00338424) - Contains all material for submission including the Dissertation and a screencast of the Chatalyst app by Ryan Harte.

Requirements

To run this application you will need: - Node 20+ - Npm - GoLang 1.21+ - VSCode - Air for golang hotreloading (Optional) - Local install of a LLM / an openai key for using chatgpt

Setup Instructions

Open project in vscode tasks will run automatically that will setup everything.

You will need node for it to npm i

and you will need air which will hot reload the backend server for development

or manual way

Frontend

shell cd src/Frontend npm install npm run dev

Backend

```shell cd src/Backend

go run .

or

air # optional hot reload for development ```

LLM

Either a openai api key to utilize chatgpt or a local install of https://github.com/oobabooga/text-generation-webui can be used, below is the install guide for the local LLM a signup for openai can be found here https://platform.openai.com/signup

To run the LLM for intelligent smart replies you will need to install https://github.com/oobabooga/text-generation-webui
The instructions are in the repo.

The model we are using for development is this one https://huggingface.co/TheBloke/open-llama-3b-v2-wizard-evol-instuct-v2-196k-GGUF but any open llama model would work fine the larger the better the resulting replies but higher the hardware requirements become this one was chosen as it is able to run on my gpu which gives much faster results.

Documentation/Research

Owner

  • Name: Ryan Harte
  • Login: ryan-harte
  • Kind: user
  • Location: Limerick, Ireland
  • Company: ATU

Computer Science and Software Development graduate from ATU Galway (formerly GMIT)

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Chatalyst
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Ethan
    family-names: Conneely
    email: G00393941@atu.ie
    affiliation: ATU
  - given-names: Ryan
    family-names: Harte
    email: G00338424@atu.ie
    affiliation: ATU
repository-code: >-
  https://github.com/The-Mad-Ryanosaurus/Final-Year-Project/tree/main
url: 'https://chatalyst.ethanconneely.com'
repository: 'https://github.com/IrishBruseForks/Final-Year-Project'
repository-artifact: 'https://github.com/IrishBruse/chatalyst-hosting'
abstract: >-
  Final year project where an AI enhanced Instant messaging
  application was made that utilized a LLM for smart
  replies.
keywords:
  - LLM
  - React
  - GoLang

GitHub Events

Total
Last Year

Dependencies

src/Backend/go.mod go
  • cloud.google.com/go/compute v1.23.3
  • cloud.google.com/go/compute/metadata v0.2.3
  • github.com/go-playground/locales v0.14.1
  • github.com/go-playground/universal-translator v0.18.1
  • github.com/go-playground/validator v9.31.0+incompatible
  • github.com/go-sql-driver/mysql v1.7.1
  • github.com/golang-jwt/jwt v3.2.2+incompatible
  • github.com/golang-jwt/jwt/v5 v5.0.0
  • github.com/golang/protobuf v1.5.3
  • github.com/google/uuid v1.4.0
  • github.com/joho/godotenv v1.5.1
  • github.com/labstack/echo-jwt/v4 v4.2.0
  • github.com/labstack/echo/v4 v4.11.2
  • github.com/labstack/gommon v0.4.0
  • github.com/leodido/go-urn v1.2.4
  • github.com/mattn/go-colorable v0.1.13
  • github.com/mattn/go-isatty v0.0.20
  • github.com/valyala/bytebufferpool v1.0.0
  • github.com/valyala/fasttemplate v1.2.2
  • golang.org/x/crypto v0.14.0
  • golang.org/x/net v0.17.0
  • golang.org/x/oauth2 v0.13.0
  • golang.org/x/sys v0.13.0
  • golang.org/x/text v0.13.0
  • golang.org/x/time v0.3.0
  • google.golang.org/appengine v1.6.8
  • google.golang.org/protobuf v1.31.0
src/Backend/go.sum go
  • cloud.google.com/go/compute v1.23.1
  • cloud.google.com/go/compute v1.23.3
  • cloud.google.com/go/compute/metadata v0.2.3
  • github.com/davecgh/go-spew v1.1.0
  • github.com/davecgh/go-spew v1.1.1
  • github.com/go-playground/locales v0.14.1
  • github.com/go-playground/universal-translator v0.18.1
  • github.com/go-playground/validator v9.31.0+incompatible
  • github.com/go-sql-driver/mysql v1.7.1
  • github.com/golang-jwt/jwt v3.2.2+incompatible
  • github.com/golang-jwt/jwt/v5 v5.0.0
  • github.com/golang/protobuf v1.5.0
  • github.com/golang/protobuf v1.5.2
  • github.com/golang/protobuf v1.5.3
  • github.com/google/go-cmp v0.5.5
  • github.com/google/go-cmp v0.5.9
  • github.com/google/go-cmp v0.6.0
  • github.com/google/uuid v1.4.0
  • github.com/joho/godotenv v1.5.1
  • github.com/labstack/echo-jwt/v4 v4.2.0
  • github.com/labstack/echo/v4 v4.11.2
  • github.com/labstack/gommon v0.4.0
  • github.com/leodido/go-urn v1.2.4
  • github.com/mattn/go-colorable v0.1.11
  • github.com/mattn/go-colorable v0.1.13
  • github.com/mattn/go-isatty v0.0.14
  • github.com/mattn/go-isatty v0.0.16
  • github.com/mattn/go-isatty v0.0.19
  • github.com/mattn/go-isatty v0.0.20
  • github.com/pmezard/go-difflib v1.0.0
  • github.com/stretchr/objx v0.1.0
  • github.com/stretchr/objx v0.4.0
  • github.com/stretchr/objx v0.5.0
  • github.com/stretchr/testify v1.7.0
  • github.com/stretchr/testify v1.7.1
  • github.com/stretchr/testify v1.8.0
  • github.com/stretchr/testify v1.8.2
  • github.com/stretchr/testify v1.8.4
  • github.com/valyala/bytebufferpool v1.0.0
  • github.com/valyala/fasttemplate v1.2.1
  • github.com/valyala/fasttemplate v1.2.2
  • github.com/yuin/goldmark v1.4.13
  • golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
  • golang.org/x/crypto v0.0.0-20210921155107-089bfa567519
  • golang.org/x/crypto v0.14.0
  • golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4
  • golang.org/x/net v0.0.0-20190620200207-3b0461eec859
  • golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
  • golang.org/x/net v0.0.0-20220722155237-a158d28d115b
  • golang.org/x/net v0.17.0
  • golang.org/x/oauth2 v0.13.0
  • golang.org/x/sync v0.0.0-20190423024810-112230192c58
  • golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4
  • golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
  • golang.org/x/sys v0.0.0-20201119102817-f84b799fce68
  • golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1
  • golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
  • golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6
  • golang.org/x/sys v0.0.0-20211103235746-7861aae1554b
  • golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a
  • golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f
  • golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab
  • golang.org/x/sys v0.6.0
  • golang.org/x/sys v0.13.0
  • golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
  • golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
  • golang.org/x/text v0.3.0
  • golang.org/x/text v0.3.3
  • golang.org/x/text v0.3.7
  • golang.org/x/text v0.3.8
  • golang.org/x/text v0.13.0
  • golang.org/x/time v0.3.0
  • golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e
  • golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e
  • golang.org/x/tools v0.1.12
  • golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
  • golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
  • google.golang.org/appengine v1.6.8
  • google.golang.org/protobuf v1.26.0-rc.1
  • google.golang.org/protobuf v1.26.0
  • google.golang.org/protobuf v1.31.0
  • gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
  • gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
  • gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
  • gopkg.in/yaml.v3 v3.0.1
src/Frontend/package-lock.json npm
  • 250 dependencies
src/Frontend/package.json npm
  • @types/react ^18.2.15 development
  • @types/react-dom ^18.2.7 development
  • @typescript-eslint/eslint-plugin ^6.0.0 development
  • @typescript-eslint/parser ^6.0.0 development
  • @vitejs/plugin-react-swc ^3.3.2 development
  • eslint ^8.45.0 development
  • eslint-plugin-react-hooks ^4.6.0 development
  • eslint-plugin-react-refresh ^0.4.3 development
  • typescript ^5.0.2 development
  • vite ^4.4.5 development
  • @mui/icons-material ^5.14.13
  • @mui/material ^5.14.12
  • @react-oauth/google ^0.11.1
  • axios ^1.5.1
  • date-fns ^2.30.0
  • notistack ^3.0.1
  • react ^18.2.0
  • react-dom ^18.2.0
  • react-query ^3.39.3
  • react-router-dom ^6.16.0