From 98ef7d1ef29e0c88653de54641f68ec7e747c803 Mon Sep 17 00:00:00 2001 From: Maksim Pischulenok Date: Wed, 23 Jul 2025 15:13:18 +0300 Subject: [PATCH] feat: add comprehensive README with project overview, setup instructions, and deployment options --- README.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1764b96..e0e07ad 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,61 @@ -# memevizor +# Memevizor 📺 -![A vintage TV on the beach displays a vivid shark image, with a sneaker and seashells scattered in the sand nearby.](https://storage.yandexcloud.net/yc-sourcecraft-user-uploads/0b4feb07-5511-467f-acfd-f272b17b64d1 "App Logo") +A Telegram bot for meme management with cloud storage integration and a web interface for display. -A meme-sharing app where users can submit memes through Telegram +## Features +- 🤖 Telegram bot that handles image and video memes +- ☁️ Cloud storage integration (AWS S3/Yandex Cloud compatible) +- 🖼️ Web interface with auto-refreshing media display +- 🔐 Approver user system for content moderation +- 📁 Local development mode with dummy storage + +## Architecture +The system consists of: +- **Telegram Bot**: Processes commands and media +- **Storage Layer**: S3-compatible storage for memes +- **Web Interface**: Simple HTML page for viewing memes +- **Spring Boot**: Kotlin-based backend with dependency injection + +## Setup +1. Create `.env` file with: +```properties +# Telegram Bot Configuration +BOT_TOKEN=your_bot_token +FORWARD_CHAT_ID=your_forward_chat_id +APPROVER_USER_IDS=id1,id2,id3 + +# S3 Configuration (for production) +S3_ACCESS_KEY_ID=your_key +S3_SECRET_ACCESS_KEY=your_secret +S3_BUCKET=your_bucket_name +``` + +2. For local development: +```bash +./gradlew bootRun --args='--spring.profiles.active=local' +``` + +## Usage +1. Send a meme (image/video) to the Telegram bot +2. Reply with `this` or `!soxok` to approve and upload +3. View the meme at `http://localhost:8080` (or your deployed URL) + +## Deployment +### Docker +```bash +docker build -t memevizor . +docker run -d -p 8080:8080 memevizor +``` + +### Cloud (Heroku/AWS/etc) +1. Set environment variables +2. Deploy with your preferred provider + +## Contributing +Contributions welcome! Please: +1. Fork the repository +2. Create a feature branch +3. Submit a pull request + +## License +MIT License (replace with your preferred license)