Skip to content

Commit

Permalink
feat: readme
Browse files Browse the repository at this point in the history
  • Loading branch information
FranciZhong committed Oct 11, 2024
1 parent cf7b887 commit 30ef368
Showing 1 changed file with 50 additions and 126 deletions.
176 changes: 50 additions & 126 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,170 +2,94 @@

## 🚀 Introduction

[Chatemo](http://www.chatemo.chat/) is a cutting-edge team communication platform that seamlessly integrates Large Language Models (LLMs) to revolutionize collaborative workflows. In today's AI-driven world, Chatemo stands out by offering a unique blend of human interaction and artificial intelligence, designed to boost productivity, creativity, and problem-solving capabilities within teams.
[Chatemo](http://www.chatemo.chat/) is an innovative team communication app that seamlessly integrates Large Language Models (LLMs) to solve problems in real time. In Chatemo, you don't need to switch contexts to ask questions. Instead, various models and agents (with tailored prompts) are available directly in the conversation window. Simply provide the API keys from your preferred providers to get started.

### 🌟 What Makes Chatemo Special
### 🌟 Core Features

1. **AI-Enhanced Team Discussions:**
Chatemo provides rich chat contexts where teams can effortlessly summon AI assistance at any point in their conversations. This seamless integration ensures that valuable insights and information are always at your fingertips.
1. **AI-Enhanced Team Discussions**
Effortlessly call on AI assistance at any point in your conversations, ensuring valuable insights and information are always at your fingertips.

2. **Multi-Model Flexibility:**
Unlike traditional platforms, Chatemo supports multiple LLM models within the same communication context. Users have the freedom to manage their own API keys, ensuring security and allowing for flexible use of preferred models based on specific needs.
2. **Multi-Model Flexibility**
Support for multiple LLMs within the same communication context allows users to manage their own API keys and utilize preferred models based on specific needs.

3. **Customizable AI Agents:**
Easily configure and deploy AI agents tailored to your team's unique requirements. These versatile agents can be utilized across all communications and channels, with the flexibility to choose the most suitable models for each agent's function.
3. **Customizable AI Agents**
Easily configure and manage AI agents tailored to your requirements. These agents can be utilized with any model across all communications and channels.

4. **Collaborative AI Ecosystem:**
Chatemo enables various AI agents to work together, each specializing in different tasks. This collaborative approach allows teams to tackle complex, multi-faceted problems by leveraging the unique strengths of different AI models in concert.
4. **Collaborative AI Ecosystem**
Various AI agents work together, each specializing in different tasks, allowing teams to tackle complex, multi-faceted problems effectively.

5. **Context-Aware AI Interactions:**
Experience two distinct types of AI behaviors: direct communication for focused, immediate responses, and channel mode where AI agents consider message history for more nuanced, context-aware assistance.
5. **Context-Aware AI Interactions**
Experience two types of AI behaviors: direct communication for focused, immediate responses, and channel mode, where AI agents consider message history for nuanced, context-aware assistance.

6. **Preview and Fine-Tune:**
With Chatemo's preview mode, users can fine-tune AI responses for both agent configurations and chat contexts before deployment, ensuring optimal alignment with team expectations and communication styles.

By addressing the challenges of modern team collaboration and harnessing the power of AI, Chatemo empowers teams to work smarter, faster, and more creatively. Whether you're a startup disrupting an industry or an established enterprise seeking to innovate, Chatemo provides the collaborative edge you need in today's fast-paced, AI-enhanced work environment.
6. **Preview and Fine-Tune**
Use Chatemo's preview mode to fine-tune AI responses for agent configurations and chat contexts before deployment, ensuring optimal alignment with team expectations.

## 🛠️ Tech Stack

### 🖥️ Frontend

- ⚛️ React
- 🔼 Next.js
- 🎨 Tailwind CSS
- 🌓 Tailwind Themes
- 🔀 Tailwind Merge
- 🧱 Shadcn UI
- 📝 react-hook-form
- 🗃️ Zustand (State Management)
- ⚛️ **React**: JavaScript library for building user interfaces.
- 🔼 **Next.js**: Framework for server-side rendering and static site generation.
- 🎨 **Tailwind CSS**: Utility-first CSS framework.
- 🌓 **Tailwind Themes**: Customizable themes for styling.
- 🔀 **Tailwind Merge**: Utility for merging Tailwind CSS classes.
- 🧱 **Shadcn UI**: Accessible component library for UI development.
- 📝 **react-hook-form**: Library for managing form state.
- 🗃️ **Zustand**: Lightweight state management solution.

### 🗄️ Backend

- 🔼 Next.js API Routes
- 🔌 Socket.io (Real-time Communication)
- 🔐 NextAuth.js (Authentication)
- 🔑 Google OAuth

### 💾 Database & ORM

- 🐘 PostgreSQL
- 🔗 Prisma ORM

### ☁️ Cloud Services

- 🪣 AWS S3 (File Storage)
- 🌐 GCP: GKE (Kubernetes Engine)
- 🔼 **Next.js API Routes**: For building API endpoints.
- 🔌 **Socket.io**: For real-time communication.
- 🔐 **NextAuth.js**: Authentication solution.
- 🔑 **Google OAuth**: For Google sign-in.
- 🐘 **PostgreSQL**: Advanced relational database.
- 🔗 **Prisma ORM**: For database management.

### 🤖 AI Integration

- 🧠 OpenAI SDK
- 🤯 Anthropic SDK
- 🤖 **OpenAI SDK**: Integration for OpenAI models.
- 🤯 **Anthropic SDK**: Access to Anthropic's AI offerings.
- 🧠 **Google AI SDK**: Tools for leveraging Google’s AI models.

### 🛠️ Utilities

- ✅ Zod: Schema Validation
- 🔄 Axios: HTTP Client
- 📅 date-fns: Date Manipulation
- 🆔 uuid: Unique Identifiers
- ⏳ use-debounce
-**Zod**: Type-safe schema validation.
- 🔄 **Axios**: Promise-based HTTP client.
- 📅 **date-fns**: Modern date utility library.
- 🆔 **uuid**: For generating unique identifiers.
-**use-debounce**: React hook for debouncing.

### 📝 Markdown Processing

- 📘 React Markdown
- 🔧 remark & rehype plugins
- 📘 **React Markdown**: Markdown component for React applications.
- 🔧 **remark & rehype plugins**: Ecosystem for processing markdown and HTML.

### 🧰 Development Tools

- 📘 TypeScript
- 🧹 ESLint
- 📦 Prisma CLI
- 🔐 dotenv-cli
- 📘 **TypeScript**: Typed superset of JavaScript.
- 🧹 **ESLint**: Linter for identifying code issues.
- 📦 **Prisma CLI**: Command-line interface for Prisma.
- 🔐 **dotenv-cli**: Tool for loading environment variables.

## 🚀 DevOps

### 🔄 CI/CD

- 🐙 GitHub Actions: CI/CD pipelines
- 🐙 **GitHub Actions**: CI/CD pipelines, ensuring seamless integration and deployment.

### 🐳 Containerization

- 📄 Dockerfile
- 🐙 Docker Compose: for Local Development
- 📄 **Dockerfile**: Defines the environment for the application.
- 🔧 **Docker Compose**: For setting up local development environments easily.

### ☸️ Orchestration

- 🚢 Kubernetes (K8s): for Production Deployments
- 🚢 **Kubernetes (K8s)**: For managing containerized applications in production.

### ☁️ Cloud Platforms

- 🌐 Google Cloud Platform (GCP)
- 🛳️ Google Kubernetes Engine (GKE)
- ☁️ Amazon Web Services (AWS)
- 🪣 S3 Buckets

## Getting Started

To get started with Chatemo, follow these steps:

1. Clone the repository:
```bash
git clone https://github.com/yourusername/chatemo.git
cd chatemo
Install dependencies:
```

npm install
Set up environment variables:
Create a .env.local file in the root directory and add the necessary environment variables. Refer to .env.example for the required variables.

Set up the database:

npm run prisma:push
Run the development server:

npm run dev
The application should now be running on http://localhost:3000.

Scripts
Chatemo comes with several useful scripts:

npm run dev: Starts the development server
npm run build: Builds the application for production
npm run start: Starts the production server
npm run lint: Runs the linter to check for code quality issues
npm run prisma:push: Pushes the Prisma schema to the database
npm run prisma:studio: Opens Prisma Studio for database management
Deployment
To deploy Chatemo to production:

Build the application:

npm run build
Start the production server:

npm run start
Ensure that all environment variables are properly set in your production environment.

Contributing
We welcome contributions to Chatemo! If you'd like to contribute, please follow these steps:

Fork the repository
Create a new branch (git checkout -b feature/amazing-feature)
Make your changes
Commit your changes (git commit -m 'Add some amazing feature')
Push to the branch (git push origin feature/amazing-feature)
Open a Pull Request
Please make sure to update tests as appropriate and adhere to the existing coding style.

License
This project is licensed under the MIT License. See the LICENSE file for details.

Support
If you encounter any issues or have questions, please file an issue on the GitHub repository or contact our support team at [email protected].

Acknowledgements
Thanks to all the open-source projects that made Chatemo possible
Special thanks to our contributors and early adopters for their valuable feedback and support
Chatemo - Empowering teams with AI-enhanced communication and collaboration.

This comprehensive README provides a thorough overview of the Chatemo project, including its purpose, features, tech stack, setup instructions, contribution guidelines, and more. It offers potential users and contributors all the information they need to understand, use, and potentially contribute to the project.
- 🌐 **Google Cloud Platform (GCP)**
- 🛳️ **Google Kubernetes Engine (GKE)**: Managed Kubernetes service.
- ☁️ **Amazon Web Services (AWS)**
- 🪣 **S3 Buckets**: Object storage service for files.

0 comments on commit 30ef368

Please sign in to comment.