Skip to content

Commit 0935bea

Browse files
authored
Improve formatting and content in README.md
Updated README.md to enhance formatting and clarity.
1 parent 7f8b66d commit 0935bea

1 file changed

Lines changed: 166 additions & 104 deletions

File tree

README.md

Lines changed: 166 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,81 @@
1-
# Inkverta - Comic and Novel Translator
1+
# Inkverta - Comic and Novel Translator
22

33
A full-stack application that instantly translates comics, novels and manga using AI-powered OCR and translation services. Features a web application, Chrome extension, and production-ready deployment configuration.
44

5-
Production guide: see deployment/PRODUCTION.md.
6-
7-
🌟 Features
8-
Web Application
9-
Drag & Drop Upload: Upload comic images with ease
10-
Advanced OCR: Multi-language text extraction using Tesseract.js
11-
Real-time Translation: Support for Google Translate and DeepL APIs
12-
Novel/Text Mode: Paste and translate text (no OCR required)
13-
Image Editor: Interactive canvas for text selection and editing
14-
Batch Processing: Handle multiple images simultaneously
15-
Download Results: Export translated comics in various formats
16-
Chrome Extension
17-
Universal Compatibility: Works on MangaDex, Webtoons, Crunchyroll, and more
18-
Right-click Translation: Instantly translate images from context menu
19-
Overlay Display: Non-intrusive translation overlays
20-
Auto-translate: Optional automatic translation on image click
21-
Translation History: Keep track of previous translations
22-
Customizable Settings: Configure languages, services, and behavior
23-
Production Features
24-
Docker Deployment: Complete containerization with Docker Compose
25-
SSL/HTTPS Support: Automated certificate management
26-
Health Monitoring: Prometheus, Grafana, and Alertmanager integration
27-
Load Balancing: Nginx reverse proxy with rate limiting
28-
Automated Backups: Scheduled backups for data persistence
29-
Performance Optimization: Redis caching and image optimization
30-
🚀 Quick Start
31-
Prerequisites
32-
Node.js 16+ and npm 8+
33-
Docker and Docker Compose (for containerized deployment)
34-
Google Translate API key (required)
35-
DeepL API key (optional, for better translations)
36-
1. Clone and Setup
5+
Production guide: see `deployment/PRODUCTION.md`.
6+
7+
## 🌟 Features
8+
9+
### Web Application
10+
- **Drag & Drop Upload**: Upload comic images with ease
11+
- **Advanced OCR**: Multi-language text extraction using Tesseract.js
12+
- **Real-time Translation**: Support for Google Translate and DeepL APIs
13+
- **Novel/Text Mode**: Paste and translate text (no OCR required)
14+
- **Image Editor**: Interactive canvas for text selection and editing
15+
- **Batch Processing**: Handle multiple images simultaneously
16+
- **Download Results**: Export translated comics in various formats
17+
18+
### Chrome Extension
19+
- **Universal Compatibility**: Works on MangaDex, Webtoons, Crunchyroll, and more
20+
- **Right-click Translation**: Instantly translate images from context menu
21+
- **Overlay Display**: Non-intrusive translation overlays
22+
- **Auto-translate**: Optional automatic translation on image click
23+
- **Translation History**: Keep track of previous translations
24+
- **Customizable Settings**: Configure languages, services, and behavior
25+
26+
### Production Features
27+
- **Docker Deployment**: Complete containerization with Docker Compose
28+
- **SSL/HTTPS Support**: Automated certificate management
29+
- **Health Monitoring**: Prometheus, Grafana, and Alertmanager integration
30+
- **Load Balancing**: Nginx reverse proxy with rate limiting
31+
- **Automated Backups**: Scheduled backups for data persistence
32+
- **Performance Optimization**: Redis caching and image optimization
33+
34+
## 🚀 Quick Start
35+
36+
### Prerequisites
37+
- Node.js 16+ and npm 8+
38+
- Docker and Docker Compose (for containerized deployment)
39+
- Google Translate API key (required)
40+
- DeepL API key (optional, for better translations)
41+
42+
### 1. Clone and Setup
43+
```bash
3744
git clone https://github.com/your-username/comic-translator.git
3845
cd comic-translator
3946
npm run setup
40-
2. Configure Environment
47+
```
48+
49+
### 2. Configure Environment
50+
```bash
4151
# Edit backend/.env and add your API keys
4252
cp backend/.env.example backend/.env
4353
# Add your GOOGLE_TRANSLATE_API_KEY and DEEPL_API_KEY
44-
3. Development Mode
54+
```
55+
56+
### 3. Development Mode
57+
```bash
4558
# Start both backend and frontend
4659
npm run dev
4760

4861
# Or start individually
4962
npm run dev:backend # Starts on http://localhost:3001
5063
npm run dev:frontend # Starts on http://localhost:3000
51-
4. Production Deployment
64+
```
65+
66+
### 4. Production Deployment
67+
```bash
5268
# Using Docker Compose (recommended)
5369
npm run docker:prod
5470

5571
# Or manual deployment
5672
npm run build
5773
npm run start
58-
📁 Project Structure
74+
```
75+
76+
## 📁 Project Structure
77+
78+
```
5979
comic-translator/
6080
├── backend/ # Node.js/Express API
6181
│ ├── src/
@@ -82,24 +102,33 @@ comic-translator/
82102
├── deployment/ # Production configs
83103
├── monitoring/ # Monitoring setup
84104
└── scripts/ # Utility scripts
85-
🛠️ API Documentation
86-
OpenAPI spec is served at GET /api/openapi.yaml (and is also available at backend/openapi.yaml).
87-
88-
Upload Endpoints
89-
POST /api/upload/single - Upload single image
90-
POST /api/upload/multiple - Upload multiple images
91-
OCR Endpoints
92-
POST /api/ocr/extract - Extract text from image
93-
POST /api/ocr/batch - Batch text extraction
94-
Translation Endpoints
95-
POST /api/translate - Translate text
96-
POST /api/translate/batch - Batch translation
97-
GET /api/translate/languages - Get supported languages
98-
Health Endpoints
99-
GET /api/health - Application health status
100-
GET /api/health/ready - Readiness probe
101-
🔧 Configuration
102-
Environment Variables
105+
```
106+
107+
## 🛠️ API Documentation
108+
109+
OpenAPI spec is served at `GET /api/openapi.yaml` (and is also available at `backend/openapi.yaml`).
110+
111+
### Upload Endpoints
112+
- `POST /api/upload/single` - Upload single image
113+
- `POST /api/upload/multiple` - Upload multiple images
114+
115+
### OCR Endpoints
116+
- `POST /api/ocr/extract` - Extract text from image
117+
- `POST /api/ocr/batch` - Batch text extraction
118+
119+
### Translation Endpoints
120+
- `POST /api/translate` - Translate text
121+
- `POST /api/translate/batch` - Batch translation
122+
- `GET /api/translate/languages` - Get supported languages
123+
124+
### Health Endpoints
125+
- `GET /api/health` - Application health status
126+
- `GET /api/health/ready` - Readiness probe
127+
128+
## 🔧 Configuration
129+
130+
### Environment Variables
131+
```bash
103132
# Server Configuration
104133
NODE_ENV=production
105134
PORT=3001
@@ -117,13 +146,18 @@ OCR_OEM=3
117146
# Cache and Performance
118147
CACHE_TTL=3600
119148
RATE_LIMIT_MAX=100
120-
Chrome Extension Setup
121-
Open Chrome → Extensions → Developer mode
122-
Click "Load unpacked"
123-
Select the chrome-extension folder
124-
Configure settings in the extension popup
125-
🚀 Deployment Options
126-
1. Docker (Recommended)
149+
```
150+
151+
### Chrome Extension Setup
152+
1. Open Chrome → Extensions → Developer mode
153+
2. Click "Load unpacked"
154+
3. Select the `chrome-extension` folder
155+
4. Configure settings in the extension popup
156+
157+
## 🚀 Deployment Options
158+
159+
### 1. Docker (Recommended)
160+
```bash
127161
# Production deployment
128162
docker-compose -f deployment/docker-compose.prod.yml up -d
129163

@@ -132,43 +166,60 @@ docker-compose -f docker/docker-compose.dev.yml up
132166

133167
# With monitoring
134168
npm run monitoring:up
135-
2. Railway
169+
```
170+
171+
### 2. Railway
172+
```bash
136173
# Deploy backend to Railway
137174
railway up --service backend
138175

139176
# Configure environment variables in Railway dashboard
140-
3. Heroku
177+
```
178+
179+
### 3. Heroku
180+
```bash
141181
# Deploy using Heroku CLI
142182
heroku create comic-translator-app
143183
git push heroku main
144-
4. Manual VPS
184+
```
185+
186+
### 4. Manual VPS
187+
```bash
145188
# Run setup script
146189
./scripts/setup.sh
147190

148191
# Deploy with SSL
149192
./scripts/deploy.sh production
150-
📊 Monitoring
193+
```
194+
195+
## 📊 Monitoring
196+
151197
The application includes comprehensive monitoring:
152198

153-
Prometheus: Metrics collection and alerting
154-
Grafana: Beautiful dashboards and visualizations
155-
Alertmanager: Smart alert routing and management
156-
Loki: Centralized logging
157-
Node Exporter: System metrics
199+
- **Prometheus**: Metrics collection and alerting
200+
- **Grafana**: Beautiful dashboards and visualizations
201+
- **Alertmanager**: Smart alert routing and management
202+
- **Loki**: Centralized logging
203+
- **Node Exporter**: System metrics
204+
158205
Access monitoring:
206+
- Grafana: http://localhost:3002 (admin/admin)
207+
- Prometheus: http://localhost:9090
208+
- Alertmanager: http://localhost:9093
209+
210+
## 🔒 Security Features
211+
212+
- Rate limiting on all endpoints
213+
- CORS protection
214+
- Helmet.js security headers
215+
- File type validation
216+
- Size limits on uploads
217+
- SSL/TLS encryption
218+
- Input sanitization
219+
220+
## 🧪 Testing
159221

160-
Grafana: http://localhost:3002 (admin/admin)
161-
Prometheus: http://localhost:9090
162-
Alertmanager: http://localhost:9093
163-
🔒 Security Features
164-
Rate limiting on all endpoints
165-
CORS protection
166-
Helmet.js security headers
167-
File type validation
168-
Size limits on uploads
169-
SSL/TLS encryption
170-
Input sanitization
171-
🧪 Testing
222+
```bash
172223
# Run all tests
173224
npm run test
174225

@@ -183,25 +234,36 @@ npm run lint
183234

184235
# Code formatting
185236
npm run format
186-
📝 Contributing
187-
Fork the repository
188-
Create a feature branch: git checkout -b feature-name
189-
Make your changes and add tests
190-
Run tests: npm run test
191-
Commit: git commit -m 'Add feature'
192-
Push: git push origin feature-name
193-
Create a Pull Request
194-
📄 License
195-
This project is licensed under the MIT License - see the LICENSE file for details.
196-
197-
🆘 Support
198-
📧 Email: InkvertaSupport@yourcomictranslator.com
199-
🐛 Issues: GitHub Issues
200-
📖 Documentation: Wiki
201-
💬 Discord: Join our community
202-
🙏 Acknowledgments
203-
Tesseract.js for OCR capabilities
204-
Google Translate API for translation services
205-
DeepL API for high-quality translations
206-
React and Express communities
237+
```
238+
239+
## 📝 Contributing
240+
241+
1. Fork the repository
242+
2. Create a feature branch: `git checkout -b feature-name`
243+
3. Make your changes and add tests
244+
4. Run tests: `npm run test`
245+
5. Commit: `git commit -m 'Add feature'`
246+
6. Push: `git push origin feature-name`
247+
7. Create a Pull Request
248+
249+
## 📄 License
250+
251+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
252+
253+
## 🆘 Support
254+
255+
- 📧 Email: InkvertaSupport@yourcomictranslator.com
256+
- 🐛 Issues: [GitHub Issues](https://github.com/Opikadash/Inkverta/issues)
257+
- 📖 Documentation: [Wiki](https://github.com/Opikadash/Inkverta/wiki)
258+
- 💬 Discord: [Join our community](https://discord.gg/comic-translator)
259+
260+
## 🙏 Acknowledgments
261+
262+
- [Tesseract.js](https://tesseract.projectnaptha.com/) for OCR capabilities
263+
- [Google Translate API](https://cloud.google.com/translate) for translation services
264+
- [DeepL API](https://www.deepl.com/api) for high-quality translations
265+
- [React](https://reactjs.org/) and [Express](https://expressjs.com/) communities
266+
267+
---
268+
207269
⭐ If you find this project helpful, please give it a star on GitHub!

0 commit comments

Comments
 (0)