- 📍 Overview
- 👾 Features
- 📁 Project Structure
- 🚀 Getting Started
- 📌 Project Roadmap
- 🔰 Contributing
- 🎗 License
- 🙌 Acknowledgments
- 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
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
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:
❯ cd nuxtgemini
- Install the project dependencies:
❯ bun install
Run nuxtgemini using the following command:
Using bun
❯ bun dev
-
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.
- 💬 Join the Discussions: Share your insights, provide feedback, or ask questions.
- 🐛 Report Issues: Submit bugs found or log feature requests for the
nuxtgemini
project. - 💡 Submit Pull Requests: Review open PRs, and submit your own PRs.
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!
- Vertixx01: For creating this project.
- Faetalize: For inspiring and motivating me to create this project.
- Hopefully, this project will be useful to you.