Skip to content

BlueBeard63/University-Project-AI-ChatBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

L5 Software Coursework

Level 5 Software Engineering Coursework - Full-stack web application with AI integration.

Project Overview

This is a full-stack application consisting of a React frontend and Node.js backend with AI service integration and caching capabilities.

Architecture

  • Frontend: React + TypeScript + Vite
  • Backend: Node.js + Express + TypeScript
  • AI Integration: Gemini AI provider
  • Caching: Memory and Redis cache implementations
  • Deployment: Docker support via Docker Compose

Technology Stack

Frontend

  • React 18
  • TypeScript
  • Vite (build tool)
  • Tailwind CSS (styling)
  • Supabase (backend services)
  • Lucide React (icons)

Backend

  • Node.js with Express
  • TypeScript
  • TOML configuration
  • Provider pattern for AI and cache services

Project Structure

├── frontend/          # React frontend application
├── backend/           # Express backend server
│   └── src/
│       ├── controllers/    # Route controllers
│       ├── routes/         # API routes
│       ├── provider/       # Service providers
│       │   ├── ai/        # AI provider implementations
│       │   └── cache/     # Cache provider implementations
│       ├── config.ts      # Configuration management
│       └── index.ts       # Application entry point
├── docker/            # Docker configuration
└── compose.yaml       # Docker Compose setup

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn

Installation

  1. Clone the repository
  2. Install backend dependencies:
    cd backend
    npm install
  3. Install frontend dependencies:
    cd frontend
    npm install

Running the Application

Development Mode

Backend:

cd backend
npm run dev

Frontend:

cd frontend
npm run dev

Production Mode

Backend:

cd backend
npm run build
npm start

Frontend:

cd frontend
npm run build
npm run preview

Using Docker

Run the entire application stack:

docker-compose up

Configuration

Backend configuration is managed through backend/config.toml. Update this file with your service credentials and settings.

Features

  • AI-powered functionality using Gemini AI
  • Flexible caching system (Memory/Redis)
  • RESTful API architecture
  • Modern React frontend with TypeScript
  • Containerized deployment ready

Documentation

License

See LICENSE file for details.

About

Level 5 Software Enginnering Coursework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors