https://github.com/susamn/helpful-tools-v2
Privacy-focused local developer toolkit: JSON/YAML formatters, regex tester, diff viewer, JWT decoder & more
https://github.com/susamn/helpful-tools-v2
autosuggestion devtools flask graph json local mathematics plotting privacy productivity python regex scientific-calculator textdiff tools yaml
Last synced: 13 days ago
JSON representation
Privacy-focused local developer toolkit: JSON/YAML formatters, regex tester, diff viewer, JWT decoder & more
- Host: GitHub
- URL: https://github.com/susamn/helpful-tools-v2
- Owner: susamn
- License: mit
- Created: 2025-09-02T03:29:01.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-12-18T16:40:47.000Z (about 1 month ago)
- Last Synced: 2025-12-21T20:34:25.439Z (about 1 month ago)
- Topics: autosuggestion, devtools, flask, graph, json, local, mathematics, plotting, privacy, productivity, python, regex, scientific-calculator, textdiff, tools, yaml
- Language: JavaScript
- Homepage:
- Size: 7.47 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Helpful Tools v2
[](https://github.com/susamn/helpful-tools-v2/actions/workflows/ci.yml)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://flake8.pycqa.org/)
[](https://paypal.me/SupratimSamanta)
A comprehensive web-based developer toolkit built with Flask. Simple, fast, and privacy-focused - all tools run locally with no data sent to external servers.

## Features
- **11 Developer Tools** - JSON/YAML formatters, converters, diff viewer, regex tester, aws-sf-viewer and more
- **History Tracking** - Save and retrieve tool usage across sessions
- **Configurable** - Enable/disable tools via configuration
- **Modern UI** - Clean, responsive interface
- **Privacy-First** - All processing happens locally
## Available Tools
| Tool | Description | Status |
|------|-------------|-----------------|
| **Scratchpad** | Simple note-taking tool with history tracking | Disabled (Beta) |
| **JSON Tool** | Format, validate, and minify JSON data | Stable |
| **YAML Tool** | Format, validate, and work with YAML data | Stable |
| **JSON-YAML-XML Converter** | Bidirectional format conversion | Stable |
| **Text Diff Tool** | Compare text side-by-side with highlighting | Stable |
| **Regex Tester** | Interactive regex testing with live highlighting | Stable |
| **Cron Parser** | Parse cron expressions with human-readable output | Stable |
| **Scientific Calculator** | Advanced calculator with graphing support | Stable |
| **JWT Decoder** | Decode and analyze JWT tokens | Stable |
| **Sources Manager** | Manage data sources (local, S3, SFTP, HTTP) | Stable |
| **AWS Step Functions Viewer** | Visualize state machines | Beta |
## Screenshots
### Source Manager

### JSON Tool

### Regex Tester

### Text Diff Tool

### Cron Parser

### Scientific Calculator

### AWS SF Viewer (Beta)

## Quick Start
```bash
# Clone the repository
git clone https://github.com/susamn/helpful-tools-v2.git
cd helpful-tools-v2
# Run the quick-start script (creates venv, installs deps, starts server)
./quick-start.sh
# Or start manually
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python app.py
```
Open your browser to: `http://127.0.0.1:8000`
### Command Line Options
```bash
python app.py --port 8080 # Run on different port
python app.py --host 0.0.0.0 # Bind to all interfaces
```
## Configuration
### Tools
Tools can be enabled/disabled via `config/config.json`:
```json
{
"tools": {
"json-tool": {
"enabled": true,
"description": "JSON formatter and validator"
},
"aws-sf-viewer": {
"enabled": false,
"description": "AWS Step Functions state machine viewer"
}
}
}
```
Set `"enabled": false` to hide a tool from the dashboard and disable its route.
### Source Types
The Sources Manager supports multiple data source types. You can enable/disable source types in `config/config.json`:
```json
{
"source_types": {
"http": {
"enabled": true,
"description": "HTTP/HTTPS URL resources"
},
"s3": {
"enabled": true,
"description": "AWS S3 buckets"
},
"local_file": {
"enabled": false,
"description": "Local file system"
},
"sftp": {
"enabled": false,
"description": "SFTP servers"
},
"samba": {
"enabled": false,
"description": "Samba/SMB network shares"
}
}
}
```
Only enabled source types will appear in the Sources Manager dropdown.
## Project Structure
```
helpful-tools-v2/
├── app.py # Application entry point
├── config/
│ └── config.json # Tool configuration
├── src/
│ ├── main.py # Flask application and routes
│ ├── api/ # API modules (history, converter)
│ ├── sources/ # Data source implementations
│ └── validators/ # Data validation system
├── frontend/
│ ├── tools/ # HTML templates for each tool
│ └── static/ # CSS and JavaScript
└── tests/ # Test suite
```
## API Endpoints
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/` | GET | Dashboard |
| `/api/tools` | GET | List enabled tools |
| `/api/source-types` | GET | List enabled source types |
| `/api/convert` | POST | Format conversion |
| `/api/text-diff/compare` | POST | Text comparison |
| `/api/history/` | GET/POST | Tool history |
| `/health` | GET | Health check |
## Roadmap
### Planned Features
- [ ] **Base64 Encoder/Decoder** - Encode/decode Base64 strings
- [ ] **URL Encoder/Decoder** - URL encoding utilities
- [ ] **Hash Generator** - MD5, SHA-1, SHA-256 hash generation
- [ ] **UUID Generator** - Generate various UUID formats
- [ ] **Color Picker** - Color format converter (HEX, RGB, HSL)
- [ ] **Unix Timestamp Converter** - Convert between formats
- [ ] **Markdown Preview** - Live markdown rendering
- [ ] **SQL Formatter** - Format and beautify SQL queries
- [ ] **HTML/CSS Minifier** - Minify web assets
- [ ] **IP Address Tools** - Subnet calculator, CIDR notation
### Improvements
- [ ] Dark mode support
- [ ] Export/import history
- [ ] Keyboard shortcuts documentation
- [ ] Plugin system for custom tools
## Development
### Running Tests
```bash
# Activate virtual environment
source venv/bin/activate
# Run all tests
python -m pytest tests/ -v
# Run specific test category
python -m pytest tests/api/ -v
python -m pytest tests/converter/ -v
# Run with coverage
python -m pytest tests/ --cov=src --cov-report=html
```
### Adding New Tools
1. Create HTML template in `frontend/tools/*-tool.html`
2. Add CSS/JS assets in `frontend/static/`
3. Add tool entry in `src/main.py` TOOLS list with unique `id`
4. Add configuration in `config/config.json`
5. Add tests in `tests/*-tool/`
## Requirements
- Python 3.8+
- Flask 3.0+
- PyYAML 6.0+
- xmltodict 0.13+
See `requirements.txt` for complete list.
## License
MIT License - see [LICENSE](LICENSE) for details.
## Contributing
Contributions are welcome! Please:
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## Acknowledgments
Built with Flask, and inspired by the need for simple, local developer tools that respect privacy.