Skip to content

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

Notifications You must be signed in to change notification settings

kaizerpwn/crazy-donut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

78 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

# 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
git clone https://github.com/kaizerpwn/crazy-donut.git
cd crazy-donut
  1. Frontend Setup
cd client
npm install
  1. Backend Setup
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

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 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 file for details.

πŸ™ Acknowledgments

  • FastAPI for the amazing Python web framework
  • React for the frontend library
  • Tailwind CSS for the utility-first CSS framework
  • Slack API for the communication platform

Made with ❀️ by the kaizerpwn
Report Bug Β· Request Feature

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published