An open API service indexing awesome lists of open source software.

https://github.com/kaizerpwn/crazy-donut

A Slack bot that sparks engaging conversations by generating random watercooler topics. Perfect for team bonding and keeping chats lively! ๐Ÿš€
https://github.com/kaizerpwn/crazy-donut

crazy-donut donut donut-slack slack slack-api slack-bot watercooler watercooler-topics

Last synced: 3 months ago
JSON representation

A Slack bot that sparks engaging conversations by generating random watercooler topics. Perfect for team bonding and keeping chats lively! ๐Ÿš€

Awesome Lists containing this project

README

          





Crazy Donut - The Ultimate Watercooler Topic Generator for Slack! ๐Ÿฉ


Static Badge
Static Badge
Static Badge
Static Badge


Key Features โ€ข
Tech Stack โ€ข
Quick Start โ€ข
Installation โ€ข
Configuration โ€ข
Contributing

Spice up your team's Slack workspace with **Crazy Donut**, the fun and engaging bot that keeps conversations fresh!

๐Ÿš€ Designed to break the ice and encourage spontaneous discussions, Crazy Donut drops creative, lighthearted, and thought-provoking watercooler topics into your channels at just the right moments.

## โœจ Key Features

- ๐Ÿ“… **Scheduled Delivery** - Automatically send topics at optimal times for maximum engagement
- ๐ŸŽฏ **Custom Topics** - Create and manage your own topic library
- ๐Ÿ”„ **Topic History** - Track previously sent topics to avoid repetition
- ๐ŸŽจ **Modern UI** - Clean, intuitive interface built with React and Tailwind CSS

## ๐Ÿ› ๏ธ Tech Stack

Frontend


Technology
Description




React 19

Modern UI framework




TypeScript

Type-safe development




Tailwind CSS

Utility-first styling




React Query

Server state management




React Router

Navigation




Lucide Icons

Beautiful icon set

Backend


Technology
Description




FastAPI

High-performance Python web framework




SQLAlchemy

ORM for database operations




Pydantic

Data validation




Python 3.11

Latest features and improvements




JWT

Secure authentication

## โšก Quick Start

```bash
# Clone the repository
git clone https://github.com/kaizerpwn/crazy-donut.git

# Navigate to project directory
cd crazy-donut

# Install dependencies (Frontend)
cd client
npm install

# Install dependencies (Backend)
cd ../app
pip install -r requirements.txt

# Start development servers
# Terminal 1 (Frontend)
npm run dev

# Terminal 2 (Backend)
python -m app.main
```

## ๐Ÿ“ฆ Installation

### Prerequisites

- Node.js 16+
- Python 3.11+
- MySQL 5.7+

### Step-by-Step Guide

1. **Clone the Repository**

```bash
git clone https://github.com/kaizerpwn/crazy-donut.git
cd crazy-donut
```

2. **Frontend Setup**

```bash
cd client
npm install
```

3. **Backend Setup**

```bash
cd app
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
```

## ๐Ÿ”ง Configuration

### Environment Variables

```env
SERVER_PORT=8000
FRONTEND_URL=http://localhost:5173
SECRET_KEY=your_secret_key

DB_HOST=localhost
DB_USER=root
DB_PASSWORD=root
DB_NAME=crazy_donut

ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
```

Note: The **GIPHY API** key and other configurations are stored in the database and can be managed through the admin dashboard.

## ๐Ÿ“ฑ Screenshots


Dashboard


Modern dashboard interface for managing topics


Slack preview


Slack message preview

## ๐Ÿค Contributing

We love your input! We want to make contributing to Crazy Donut as easy and transparent as possible. Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for detailed information.

1. Fork the repo
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## ๐Ÿ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ™ Acknowledgments

- [FastAPI](https://fastapi.tiangolo.com/) for the amazing Python web framework
- [React](https://reactjs.org/) for the frontend library
- [Tailwind CSS](https://tailwindcss.com/) for the utility-first CSS framework
- [Slack API](https://api.slack.com/) for the communication platform

---


Made with โค๏ธ by the kaizerpwn


Report Bug
ยท
Request Feature