- Flask-Backend mit Emoji-Suche implementiert - Responsive Frontend mit modernem UI - Mehrsprachige Suche (Deutsch/Englisch) - Clipboard-Integration für Emoji-Kopieren - Docker-Support mit Dockerfile und docker-compose.yml - Vollständige Dokumentation in README.md - .gitignore für Python-Projekt konfiguriert Features: - Suche nach 4733+ Emojis - Große Emoji-Darstellung - Ein-Klick-Kopieren in Zwischenablage - Unicode-Anzeige für jedes Emoji - Responsive Design für alle Geräte
155 lines
4.0 KiB
Markdown
155 lines
4.0 KiB
Markdown
# 🔍 Emoji Sucher
|
|
|
|
Eine moderne Web-Anwendung zum Suchen und Kopieren von Emojis mit Docker-Unterstützung.
|
|
|
|
## ✨ Features
|
|
|
|
- **Emoji-Suche**: Suche nach Emojis über Namen oder Beschreibungen
|
|
- **Große Emoji-Darstellung**: Emojis werden groß und übersichtlich angezeigt
|
|
- **Clipboard-Integration**: Ein-Klick-Kopieren von Emojis in die Zwischenablage
|
|
- **Responsive Design**: Funktioniert auf Desktop und mobilen Geräten
|
|
- **Docker-Support**: Einfache Bereitstellung mit Docker
|
|
|
|
## 🚀 Installation und Start
|
|
|
|
### Mit Docker (Empfohlen)
|
|
|
|
1. **Repository klonen oder Dateien herunterladen**
|
|
|
|
2. **Mit Docker Compose starten:**
|
|
```bash
|
|
docker-compose up --build
|
|
```
|
|
|
|
3. **Oder mit Docker direkt:**
|
|
```bash
|
|
docker build -t emoji-searcher .
|
|
docker run -p 5000:5000 emoji-searcher
|
|
```
|
|
|
|
4. **Anwendung öffnen:**
|
|
Öffne deinen Browser und gehe zu `http://localhost:5000`
|
|
|
|
### Lokale Entwicklung
|
|
|
|
1. **Python 3.11+ installieren**
|
|
|
|
2. **Virtuelle Umgebung erstellen:**
|
|
```bash
|
|
python -m venv .venv
|
|
source .venv/bin/activate # Linux/Mac
|
|
# oder
|
|
.venv\Scripts\activate # Windows
|
|
```
|
|
|
|
3. **Abhängigkeiten installieren:**
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
4. **Anwendung starten:**
|
|
```bash
|
|
python app.py
|
|
```
|
|
|
|
5. **Anwendung öffnen:**
|
|
Öffne deinen Browser und gehe zu `http://localhost:5000`
|
|
|
|
## 🎯 Verwendung
|
|
|
|
1. **Emoji suchen**: Gib einen Suchbegriff in das Suchfeld ein (z.B. "smile", "herz", "katze", "lachen")
|
|
2. **Emoji kopieren**: Klicke auf den "📋 Kopieren" Button oder direkt auf die Emoji-Karte
|
|
3. **Unicode anzeigen**: Jedes Emoji zeigt seinen Unicode-Wert (z.B. U+1F600)
|
|
|
|
### 🌍 Mehrsprachige Suche
|
|
|
|
Die App unterstützt sowohl englische als auch deutsche Suchbegriffe:
|
|
- **Englisch**: "smile", "heart", "cat", "laugh"
|
|
- **Deutsch**: "lachen", "herz", "katze", "freude"
|
|
|
|
## 🛠️ Technische Details
|
|
|
|
### Backend
|
|
- **Flask**: Web-Framework
|
|
- **emoji**: Python-Bibliothek für Emoji-Daten
|
|
- **RESTful API**: Such-Endpoint unter `/search`
|
|
|
|
### Frontend
|
|
- **Vanilla JavaScript**: Keine externen Frameworks
|
|
- **Modern CSS**: Responsive Design mit CSS Grid
|
|
- **Clipboard API**: Moderne Browser-API für Kopieren
|
|
|
|
### Docker
|
|
- **Python 3.11**: Basis-Image
|
|
- **Multi-stage Build**: Optimiert für Produktion
|
|
- **Port 5000**: Standard Flask-Port
|
|
|
|
## 📁 Projektstruktur
|
|
|
|
```
|
|
emojilist/
|
|
├── app.py # Flask-Anwendung
|
|
├── requirements.txt # Python-Abhängigkeiten
|
|
├── Dockerfile # Docker-Konfiguration
|
|
├── docker-compose.yml # Docker Compose
|
|
├── .dockerignore # Docker Ignore-Datei
|
|
├── templates/
|
|
│ └── index.html # Frontend-Template
|
|
└── README.md # Dokumentation
|
|
```
|
|
|
|
## 🔧 Konfiguration
|
|
|
|
### Umgebungsvariablen
|
|
|
|
- `FLASK_ENV`: Setze auf `production` für Produktionsumgebung
|
|
- `FLASK_APP`: Standardmäßig `app.py`
|
|
|
|
### Port-Konfiguration
|
|
|
|
Standardmäßig läuft die Anwendung auf Port 5000. Du kannst den Port in der `docker-compose.yml` oder beim Docker-Run-Befehl ändern.
|
|
|
|
## 🐛 Fehlerbehebung
|
|
|
|
### Häufige Probleme
|
|
|
|
1. **Port bereits belegt:**
|
|
```bash
|
|
# Anderen Port verwenden
|
|
docker run -p 8080:5000 emoji-searcher
|
|
```
|
|
|
|
2. **Docker Build fehlschlägt:**
|
|
```bash
|
|
# Cache leeren und neu bauen
|
|
docker-compose build --no-cache
|
|
```
|
|
|
|
3. **Clipboard funktioniert nicht:**
|
|
- Stelle sicher, dass du HTTPS verwendest (für Clipboard API)
|
|
- Fallback für ältere Browser ist implementiert
|
|
|
|
## 📝 API-Endpunkte
|
|
|
|
- `GET /`: Hauptseite
|
|
- `GET /search?q=<query>`: Emoji-Suche
|
|
- `GET /api/emojis`: Alle verfügbaren Emojis (Debug)
|
|
|
|
## 🤝 Beitragen
|
|
|
|
1. Fork das Repository
|
|
2. Erstelle einen Feature-Branch
|
|
3. Committe deine Änderungen
|
|
4. Push zum Branch
|
|
5. Erstelle einen Pull Request
|
|
|
|
## 📄 Lizenz
|
|
|
|
Dieses Projekt steht unter der MIT-Lizenz.
|
|
|
|
## 🙏 Danksagungen
|
|
|
|
- [emoji](https://github.com/carpedm20/emoji) - Python Emoji-Bibliothek
|
|
- [Flask](https://flask.palletsprojects.com/) - Web-Framework
|
|
- [Docker](https://www.docker.com/) - Container-Plattform
|