Skip to content

Kodexmia/docshot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DocShot

Screenshot. Annotate. Document.

Professional screenshot annotation tool for documentation, bug reports, and visual communication. Built for developers, QA engineers, and technical writers.

Version Python License Platform

โœจ Features

Core Functionality

  • Global Screen Capture - Capture any area of your screen with click and drag
  • Annotation Tools - Arrow, box, pen, and text tools with customizable colors
  • Session Management - Organize screenshots into named sessions
  • Search & Filter - Real-time search across titles, notes, and locations
  • Type Filtering - Filter by Web, App, Mobile, Desktop, or Other
  • Professional Reports - Export to HTML or Markdown with beautiful formatting

Advanced Features

  • Structured Metadata - Add titles, details, location info, and notes to each capture
  • Custom Report Naming - Name your reports for easy organization
  • Session Statistics - Track screenshot count, creation date, and more
  • Multiple Export Formats - HTML (beautiful gradient design) and Markdown
  • Aspect Ratio Preservation - Screenshots display without distortion
  • High-Quality Rendering - Anti-aliased annotations and smooth scaling

๐Ÿ’ผ Perfect For

  • ๐Ÿ“ Documentation - Create visual guides and tutorials
  • ๐Ÿ› Bug Reports - Capture and annotate issues with context
  • ๐Ÿ‘จโ€๐Ÿซ Training - Build step-by-step instructions
  • ๐Ÿ” Code Reviews - Highlight specific code sections
  • ๐Ÿ’ฌ Communication - Visual explanations for teams
  • ๐Ÿ“Š Presentations - Professional screenshot collections
  • โœ… QA Testing - Document test cases and results

๐Ÿ“ธ Screenshots

Main Interface

Clean, intuitive interface with session management and statistics.

Annotation Tools

Four powerful tools: Arrow, Box, Pen, and Text annotations.

Beautiful Exports

Professional HTML reports with gradient headers, color-coded badges, and responsive design.

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Installation

Windows

# 1. Clone the repository
git clone https://github.com/yourusername/docshot.git
cd docshot

# 2. Install dependencies
pip install -r requirements.txt

# 3. Run the application
start.bat

macOS/Linux

# 1. Clone the repository
git clone https://github.com/yourusername/docshot.git
cd docshot

# 2. Install dependencies
pip install -r requirements.txt

# 3. Run the application
./start.sh
# Or: python -m app.main

First Use

  1. Create a Session

    • Click "New Session" button
    • Choose a folder location
    • Give your session a name
  2. Capture a Screenshot

    • Click "Capture" button (or press Ctrl+Alt+S)
    • Click and drag to select screen area
    • Release to capture
  3. Annotate

    • Use the floating toolbar to select tools
    • Add arrows, boxes, text, or freehand drawings
    • Click โœ“ to save or โœ• to cancel
  4. Add Details

    • Enter a title for your screenshot
    • Add quick details (optional)
    • Specify location type (Web, App, Mobile, etc.)
    • Add full notes if needed
    • Click "Save Entry"
  5. Export Report

    • Click "Export Report"
    • Choose HTML or Markdown format
    • Open the generated report in your browser or text editor

๐Ÿ“š Usage Guide

Annotation Tools

Arrow Tool (A)

Draw arrows to point to specific elements.

  • Click where arrow should start
  • Drag to where it should point
  • Release to place

Box Tool (B)

Draw rectangles to highlight areas.

  • Click to set one corner
  • Drag to opposite corner
  • Release to place

Pen Tool (P)

Freehand drawing for custom annotations.

  • Click and drag to draw
  • Release to finish

Text Tool (T)

Add text labels to your screenshots.

  • Click where text should appear
  • Enter text in the dialog
  • Text appears with white background

Keyboard Shortcuts

Key Action
Ctrl+Alt+S Capture screenshot
A Select Arrow tool
B Select Box tool
P Select Pen tool
T Select Text tool
Ctrl+S Save annotation
Esc Cancel annotation

Organization

Sessions

Each session is a folder containing:

  • images/ - Your captured screenshots
  • metadata/ - Entry data and session info
  • _templates/ - Export templates

Metadata Structure

  • Title - Short description of the screenshot
  • Details - Quick summary (2-3 lines)
  • Location Type - Web, App, Mobile, Desktop, or Other
  • Location URL - URL or file path
  • Notes - Detailed information

Search & Filter

  • Search - Real-time search across all text fields
  • Filter by Type - Show only Web, App, Mobile, Desktop, or Other entries
  • Combine - Use search and filter together for precise results

Export Formats

HTML

Beautiful, professional reports with:

  • Gradient header with session information
  • Color-coded location badges (blue=web, pink=app, green=mobile)
  • Structured fields with icons
  • Responsive layout
  • Print-friendly styling
  • Clickable URLs

Markdown

Clean, text-based reports with:

  • Numbered entries
  • Structured sections
  • Image references
  • Easy to convert to other formats

๐Ÿ”ง Configuration

Default Settings

  • Screenshots saved as high-quality JPEGs (95% quality)
  • Default annotation color: Red
  • Default line width: 3 pixels
  • Default layout: Image on left, text on right

Session Location

  • Windows: Documents/Cyber Securi/overlay_annotator_v3/sessions/
  • macOS/Linux: ~/overlay_annotator_v3/sessions/

Logs

Application logs are saved to:

  • Windows: C:\Users\YourName\overlay_annotator_logs\
  • macOS/Linux: ~/overlay_annotator_logs/

๐Ÿ› ๏ธ Troubleshooting

Application Won't Start

Problem: Import errors or missing dependencies

Solution:

pip install --upgrade -r requirements.txt

Capture Not Working

Problem: Screen capture overlay doesn't appear

Solution:

  1. Check that no other screen capture tool is running
  2. Try clicking the Capture button instead of using hotkey
  3. Check logs for errors: ~/overlay_annotator_logs/

Annotations Not Appearing

Problem: Tools selected but annotations don't show

Solution:

  1. Ensure toolbar is visible (floating window)
  2. Try selecting tool again
  3. Check that you're clicking within the image area

Export Fails

Problem: Error when exporting report

Solution:

  1. Ensure session has at least one entry
  2. Check that session folder has write permissions
  3. Try exporting to a different location

๐Ÿ—๏ธ Architecture

Technology Stack

  • PyQt6 - GUI framework
  • Pillow (PIL) - Image processing
  • Pydantic - Data validation
  • Jinja2 - Template engine
  • mss - Fast screenshot capture

Project Structure

docshot/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ core/
โ”‚   โ”‚   โ”œโ”€โ”€ models.py          # Data models
โ”‚   โ”‚   โ”œโ”€โ”€ storage.py         # Session management
โ”‚   โ”‚   โ””โ”€โ”€ _templates/        # Export templates
โ”‚   โ””โ”€โ”€ ui/
โ”‚       โ”œโ”€โ”€ main_window.py     # Main application window
โ”‚       โ”œโ”€โ”€ capture_overlay.py # Screenshot capture
โ”‚       โ”œโ”€โ”€ annotation_canvas.py # Annotation tools
โ”‚       โ”œโ”€โ”€ annotation_toolbar.py # Tool selection
โ”‚       โ””โ”€โ”€ stats_panel.py     # Statistics display
โ”œโ”€โ”€ requirements.txt           # Python dependencies
โ”œโ”€โ”€ start.bat                 # Windows launcher
โ””โ”€โ”€ start.sh                  # macOS/Linux launcher

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Setup

# Clone the repository
git clone https://github.com/yourusername/docshot.git
cd docshot

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run in development mode
python -m app.main

Coding Standards

  • Follow PEP 8 style guidelines
  • Add docstrings to all functions
  • Include type hints where appropriate
  • Test changes thoroughly before submitting PR

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • PyQt6 for the excellent GUI framework
  • Python community for amazing libraries
  • All contributors who help improve this tool

๐Ÿ“ฎ Support

For issues, feature requests, or questions:

  • Open an issue on GitHub
  • Check existing issues for solutions
  • Include log files when reporting bugs

๐Ÿ—บ๏ธ Roadmap

Planned Features

  • Integrated toolbar (not floating)
  • Highlighting tool (semi-transparent rectangles)
  • Line thickness control
  • Color picker for annotations
  • Undo/redo for individual annotations
  • Copy/paste annotations
  • Annotation templates
  • Dark mode
  • Multi-monitor support
  • Cloud sync

Version History

  • v3.5.3 - Current stable version

    • Fixed text annotation crash
    • Removed broken blur tool
    • Fixed image aspect ratio distortion
    • Improved stability and error handling
  • v3.5.2 - Bug fixes

    • Fixed session.json loading crash
    • Improved data validation
  • v3.5.1 - Compatibility fixes

    • Made new fields optional for backward compatibility
  • v3.5.0 - Major feature release

    • Added structured metadata fields
    • Implemented real-time search
    • Added type filtering
    • Enhanced HTML export with beautiful design
    • Custom report naming

DocShot - Making Documentation Visual ๐Ÿ“ธโœจ

Built for developers, by developers

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages