- Just a simple chatbot UI
- Built with Nuxt 3, TypeScript, Google Gemini and Tailwind CSS
- Chat with different personalities
- Manage personalities
- Generate new personalities
- Chat with ChatBot
βββ 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
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
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 |
Before getting started with nuxtgemini, ensure your runtime environment meets the following requirements:
- Programming Language: TypeScript
- Package Manager: Bun
Install nuxtgemini using one of the following methods:
Build from source:
- Clone the nuxtgemini repository:
β― git clone https://github.com/Vertixx01/nuxtgemini
- Navigate to the project directory:
- Install the project dependencies:
Using bun Β 
Run nuxtgemini using the following command:
Using bun Β 
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/Vertixx01/nuxtgemini
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph
- Vertixx01: For creating this project.
- Faetalize: For inspiring and motivating me to create this project.
- Hopefully, this project will be useful to you.