Skip to content

A Chat Interface to make your own chat bots with personalities using the Google Gemini API

Notifications You must be signed in to change notification settings

Vertixx01/nuxtgemini

Repository files navigation

NUXTGEMINI

last-commit repo-top-language repo-language-count


🔗 Table of Contents


📍 Overview

  • Just a simple chatbot UI
  • Built with Nuxt 3, TypeScript, Google Gemini and Tailwind CSS

👾 Features

  • Chat with different personalities
  • Manage personalities
  • Generate new personalities
  • Chat with ChatBot

📁 Project Structure

└── nuxtgemini/
    ├── README.md
    ├── app.vue
    ├── assets
    │   └── css
    ├── bun.lockb
    ├── components
    │   ├── ChatInterface.vue
    │   ├── PersonalityModal.vue
    │   └── Sidebar.vue
    ├── nuxt.config.ts
    ├── package-lock.json
    ├── package.json
    ├── public
    │   ├── favicon.ico
    │   ├── logo.png
    │   ├── robots.txt
    │   └── user.png
    ├── server
    │   └── tsconfig.json
    ├── stores
    │   ├── chats.ts
    │   ├── messages.ts
    │   ├── personalities.ts
    │   └── settings.ts
    ├── tailwind.config.js
    └── tsconfig.json

📂 Project Index

NUXTGEMINI/
__root__
package-lock.json ❯ Dependency lock file ensuring consistent installations
nuxt.config.ts ❯ Nuxt.js configuration file with TailwindCSS and Pinia setup
tsconfig.json ❯ TypeScript configuration for the project
tailwind.config.js ❯ TailwindCSS configuration for styling
app.vue ❯ Root Vue component of the application
package.json ❯ Project metadata and dependencies including Nuxt.js, Google AI, and UI libraries
components
ChatInterface.vue ❯ Main chat interface component handling message display and interaction
PersonalityModal.vue ❯ Modal component for managing and creating chat personalities
Sidebar.vue ❯ Sidebar component for chat navigation and personality selection
public
robots.txt ❯ Search engine crawling configuration file
server
tsconfig.json ❯ Server-side TypeScript configuration
stores
settings.ts ❯ Pinia store for application settings management
messages.ts ❯ Pinia store for chat messages state management
personalities.ts ❯ Pinia store for managing chat personalities
chats.ts ❯ Pinia store for managing chat sessions

🚀 Getting Started

☑️ Prerequisites

Before getting started with nuxtgemini, ensure your runtime environment meets the following requirements:

  • Programming Language: TypeScript
  • Package Manager: Bun

⚙️ Installation

Install nuxtgemini using one of the following methods:

Build from source:

  1. Clone the nuxtgemini repository:
❯ git clone https://github.com/Vertixx01/nuxtgemini
  1. Navigate to the project directory:
cd nuxtgemini
  1. Install the project dependencies:

Using bun  

❯ bun install

🤖 Usage

Run nuxtgemini using the following command: Using bun  

❯ bun dev

📌 Project Roadmap

  • Task 1: Basic functionality
  • Task 2: Make the UI more visually appealing.
  • Task 3: Add additional features.
  • Task 4: Integrate with more LLM Providers or services.
  • Task 5: Optimize performance.

🔰 Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/Vertixx01/nuxtgemini
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph

🙌 Acknowledgments

  • Vertixx01: For creating this project.
  • Faetalize: For inspiring and motivating me to create this project.
  • Hopefully, this project will be useful to you.

About

A Chat Interface to make your own chat bots with personalities using the Google Gemini API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published