Skip to content

Commit 7f8b66d

Browse files
authored
Revise README for Inkverta project details
Updated project name and enhanced feature descriptions in README.
1 parent 3cccfd9 commit 7f8b66d

1 file changed

Lines changed: 109 additions & 166 deletions

File tree

README.md

Lines changed: 109 additions & 166 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,61 @@
1-
# Comic and Novel Translator
2-
3-
A full-stack application that instantly translates comics and manga using AI-powered OCR and translation services. Features a web application, Chrome extension, and production-ready deployment configuration.
4-
5-
## 🌟 Features
6-
7-
### Web Application
8-
- **Drag & Drop Upload**: Upload comic images with ease
9-
- **Advanced OCR**: Multi-language text extraction using Tesseract.js
10-
- **Real-time Translation**: Support for Google Translate and DeepL APIs
11-
- **Image Editor**: Interactive canvas for text selection and editing
12-
- **Batch Processing**: Handle multiple images simultaneously
13-
- **Download Results**: Export translated comics in various formats
14-
15-
### Chrome Extension
16-
- **Universal Compatibility**: Works on MangaDex, Webtoons, Crunchyroll, and more
17-
- **Right-click Translation**: Instantly translate images from context menu
18-
- **Overlay Display**: Non-intrusive translation overlays
19-
- **Auto-translate**: Optional automatic translation on image click
20-
- **Translation History**: Keep track of previous translations
21-
- **Customizable Settings**: Configure languages, services, and behavior
22-
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-
31-
## 🚀 Quick Start
32-
33-
### Prerequisites
34-
- Node.js 16+ and npm 8+
35-
- Docker and Docker Compose (for containerized deployment)
36-
- Google Translate API key (required)
37-
- DeepL API key (optional, for better translations)
38-
39-
### 1. Clone and Setup
40-
```bash
41-
git clone https://github.com/Opikadash/Inkverta.git
42-
cd Inkverta
1+
# Inkverta - Comic and Novel Translator
2+
3+
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.
4+
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
37+
git clone https://github.com/your-username/comic-translator.git
38+
cd comic-translator
4339
npm run setup
44-
```
45-
46-
### 2. Configure Environment
47-
```bash
40+
2. Configure Environment
4841
# Edit backend/.env and add your API keys
4942
cp backend/.env.example backend/.env
5043
# Add your GOOGLE_TRANSLATE_API_KEY and DEEPL_API_KEY
51-
```
52-
53-
### 3. Development Mode
54-
```bash
44+
3. Development Mode
5545
# Start both backend and frontend
5646
npm run dev
5747

5848
# Or start individually
5949
npm run dev:backend # Starts on http://localhost:3001
6050
npm run dev:frontend # Starts on http://localhost:3000
61-
```
62-
63-
### 4. Production Deployment
64-
```bash
51+
4. Production Deployment
6552
# Using Docker Compose (recommended)
6653
npm run docker:prod
6754

6855
# Or manual deployment
6956
npm run build
7057
npm run start
71-
```
72-
73-
## 📁 Project Structure
74-
75-
```
58+
📁 Project Structure
7659
comic-translator/
7760
├── backend/ # Node.js/Express API
7861
│ ├── src/
@@ -99,31 +82,24 @@ comic-translator/
9982
├── deployment/ # Production configs
10083
├── monitoring/ # Monitoring setup
10184
└── scripts/ # Utility scripts
102-
```
103-
104-
## 🛠️ API Documentation
105-
106-
### Upload Endpoints
107-
- `POST /api/upload/single` - Upload single image
108-
- `POST /api/upload/multiple` - Upload multiple images
109-
110-
### OCR Endpoints
111-
- `POST /api/ocr/extract` - Extract text from image
112-
- `POST /api/ocr/batch` - Batch text extraction
113-
114-
### Translation Endpoints
115-
- `POST /api/translate` - Translate text
116-
- `POST /api/translate/batch` - Batch translation
117-
- `GET /api/translate/languages` - Get supported languages
118-
119-
### Health Endpoints
120-
- `GET /api/health` - Application health status
121-
- `GET /api/health/ready` - Readiness probe
122-
123-
## 🔧 Configuration
124-
125-
### Environment Variables
126-
```bash
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
127103
# Server Configuration
128104
NODE_ENV=production
129105
PORT=3001
@@ -141,18 +117,13 @@ OCR_OEM=3
141117
# Cache and Performance
142118
CACHE_TTL=3600
143119
RATE_LIMIT_MAX=100
144-
```
145-
146-
### Chrome Extension Setup
147-
1. Open Chrome → Extensions → Developer mode
148-
2. Click "Load unpacked"
149-
3. Select the `chrome-extension` folder
150-
4. Configure settings in the extension popup
151-
152-
## 🚀 Deployment Options
153-
154-
### 1. Docker (Recommended)
155-
```bash
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)
156127
# Production deployment
157128
docker-compose -f deployment/docker-compose.prod.yml up -d
158129

@@ -161,60 +132,43 @@ docker-compose -f docker/docker-compose.dev.yml up
161132

162133
# With monitoring
163134
npm run monitoring:up
164-
```
165-
166-
### 2. Railway
167-
```bash
135+
2. Railway
168136
# Deploy backend to Railway
169137
railway up --service backend
170138

171139
# Configure environment variables in Railway dashboard
172-
```
173-
174-
### 3. Heroku
175-
```bash
140+
3. Heroku
176141
# Deploy using Heroku CLI
177142
heroku create comic-translator-app
178143
git push heroku main
179-
```
180-
181-
### 4. Manual VPS
182-
```bash
144+
4. Manual VPS
183145
# Run setup script
184146
./scripts/setup.sh
185147

186148
# Deploy with SSL
187149
./scripts/deploy.sh production
188-
```
189-
190-
## 📊 Monitoring
191-
150+
📊 Monitoring
192151
The application includes comprehensive monitoring:
193152

194-
- **Prometheus**: Metrics collection and alerting
195-
- **Grafana**: Beautiful dashboards and visualizations
196-
- **Alertmanager**: Smart alert routing and management
197-
- **Loki**: Centralized logging
198-
- **Node Exporter**: System metrics
199-
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
200158
Access monitoring:
201-
- Grafana: http://localhost:3002 (admin/admin)
202-
- Prometheus: http://localhost:9090
203-
- Alertmanager: http://localhost:9093
204-
205-
## 🔒 Security Features
206-
207-
- Rate limiting on all endpoints
208-
- CORS protection
209-
- Helmet.js security headers
210-
- File type validation
211-
- Size limits on uploads
212-
- SSL/TLS encryption
213-
- Input sanitization
214-
215-
## 🧪 Testing
216159

217-
```bash
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
218172
# Run all tests
219173
npm run test
220174

@@ -229,36 +183,25 @@ npm run lint
229183

230184
# Code formatting
231185
npm run format
232-
```
233-
234-
## 📝 Contributing
235-
236-
1. Fork the repository
237-
2. Create a feature branch: `git checkout -b feature-name`
238-
3. Make your changes and add tests
239-
4. Run tests: `npm run test`
240-
5. Commit: `git commit -m 'Add feature'`
241-
6. Push: `git push origin feature-name`
242-
7. Create a Pull Request
243-
244-
## 📄 License
245-
246-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
247-
248-
## 🆘 Support
249-
250-
- 📧 Email: InkvertaSupport@yourcomictranslator.com
251-
- 🐛 Issues: [GitHub Issues](https://github.com/Opikadash/Inkverta/issues)
252-
- 📖 Documentation: [Wiki](https://github.com/Opikadash/Inkverta/wiki)
253-
- 💬 Discord: [Join our community](https://discord.gg/comic-translator)
254-
255-
## 🙏 Acknowledgments
256-
257-
- [Tesseract.js](https://tesseract.projectnaptha.com/) for OCR capabilities
258-
- [Google Translate API](https://cloud.google.com/translate) for translation services
259-
- [DeepL API](https://www.deepl.com/api) for high-quality translations
260-
- [React](https://reactjs.org/) and [Express](https://expressjs.com/) communities
261-
262-
---
263-
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
264207
⭐ If you find this project helpful, please give it a star on GitHub!

0 commit comments

Comments
 (0)