Skip to content

✨ Features

Development Server Features

ShareJadPi Dev is designed for local development and testing with core file sharing functionality.

🎯 Feature Overview


📤 Smart Upload System

The Most Intuitive Way to Share Files

Upload files with zero friction. Just drag, drop, and you're done.

Upload Features

FeatureDescriptionStatus
Drag & DropSimply drag files from your file explorer
Click to BrowseTraditional file picker dialog
Multi-fileUpload multiple files simultaneously
Progress BarsReal-time upload progress with shimmer animation
Auto-namingAutomatically handles duplicate filenames
Size LimitConfigurable max file size (default 500MB)
Storage PathFiles saved to ~/ShareJadPi-Dev/uploads

Technical Implementation

python
@app.route('/upload', methods=['POST'])
def upload_file():
    """Handle file uploads from the web interface."""
    if 'file' not in request.files:
        return jsonify({'error': 'No file provided'}), 400
    
    uploaded = []
    for file in request.files.getlist('file'):
        if file.filename:
            filename = secure_filename(file.filename)
            filepath = os.path.join(UPLOAD_FOLDER, filename)
            file.save(filepath)
            uploaded.append({
                'name': filename,
                'size': os.path.getsize(filepath)
            })
    
    return jsonify({
        'success': True,
        'files': uploaded
    })

📥 Efficient Download System

Direct File Access

Download any file with a single click. No complicated links or expiration timers.

Download Features

FeatureDescriptionStatus
Direct LinksSimple /download/filename URLs
StreamingEfficient file streaming for large files
MIME DetectionAutomatic content-type detection
Download HeadersProper attachment headers for browser downloads

API Example

javascript
// Download a file
fetch('/download/myfile.pdf')
  .then(response => response.blob())
  .then(blob => {
    const url = window.URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.href = url;
    a.download = 'myfile.pdf';
    a.click();
  });

🗑️ File Management

Complete Control Over Your Files

List, view, and delete files through a clean API interface.

Management Features

FeatureDescriptionStatus
List FilesGet all uploaded files with metadata
File MetadataName, size, and modification time
Delete FilesRemove files via DELETE endpoint
Status APICheck server status and version

API Endpoints

bash
# List all files
curl http://localhost:5000/files

# Delete a file
curl -X DELETE http://localhost:5000/delete/filename

# Check server status
curl http://localhost:5000/api/status

Response Format

json
{
  "success": true,
  "files": [
    {
      "name": "document.pdf",
      "size": 1048576,
      "modified": "2024-01-31T10:30:00Z"
    }
  ]
}

🎨 Beautiful User Interface

Modern Dark Theme Design

A stunning interface that developers love. Every detail crafted with care.

UI Features

FeatureDescriptionStatus
Dark ThemeEye-friendly dark color scheme
Gradient AccentsGreen gradient highlights
Smooth AnimationsTransitions and hover effects
Responsive LayoutWorks on desktop, tablet, and mobile
Toast NotificationsNon-intrusive feedback messages
Shimmer EffectsLoading state animations
Modern TypographyClean, readable fonts

Design System

css
/* Color Palette */
--bg-primary: #0a0a0a;
--bg-secondary: #1a1a1a;
--text-primary: #ffffff;
--accent-green: #10b981;
--gradient: linear-gradient(135deg, #10b981, #059669);

🔧 Developer Experience

Built for Development

Clean code, simple APIs, and easy customization.

Dev Features

FeatureDescriptionStatus
Auto Browser LaunchAutomatically opens browser on start
Network DiscoveryShows all available network URLs
Custom Port--port flag to change port
No Browser Mode--no-browser flag for headless operation
Clean ArchitectureWell-organized, readable code
Minimal DependenciesJust Flask and Werkzeug

Command Line Usage

bash
# Start on default port 5000
python sharejadpi-dev.py

# Use custom port
python sharejadpi-dev.py --port 8080

# Don't auto-open browser
python sharejadpi-dev.py --no-browser

# Combine flags
python sharejadpi-dev.py --port 3000 --no-browser

📊 Comparison Matrix

FeatureShareJadPi DevGoogle DriveWeTransferAirDrop
Offline Operation✅ Full❌ No❌ No✅ Yes
File Size Limit✅ 500MB+⚠️ 15GB (free)⚠️ 2GB (free)✅ No limit
Speed✅ LAN speed⚠️ Internet⚠️ Internet✅ Peer-to-peer
Privacy✅ Local only❌ Cloud❌ Cloud✅ Private
Cross-platform✅ Any browser✅ Web✅ Web❌ Apple only
No Account Needed✅ Yes❌ Required❌ For 2GB+❌ Apple ID
Open Source✅ 100%❌ No❌ No❌ No
Self-hosted✅ Yes❌ No❌ No❌ No
Cost✅ Free⚠️ Freemium⚠️ Freemium✅ Free

🚀 What's Next?

Phase 3: Advanced Features (Planned)

These features are planned for future development:

  • 🔐 Token Authentication - Secure access with token-based auth
  • 🌐 Cloudflare Tunnel - Share files over the internet securely
  • 📱 QR Code Generation - Instant mobile access with QR codes
  • 📋 Shared Clipboard - Sync clipboard across devices
  • Speed Test Utility - Test network speed
  • 🖱️ Context Menu Integration - Right-click to share on Windows

Phase 4: Polish & Performance (Planned)

  • ⚙️ Settings Panel - Customizable configuration
  • 📊 Activity Logs - Track all file operations
  • 🎯 Advanced Search - Find files quickly
  • 🔄 Auto Updates - Built-in update mechanism

Phase 5: Enterprise Features (Planned)

  • 👥 User Management - Multi-user support
  • 📈 Analytics Dashboard - Usage statistics
  • 📱 Mobile Apps - Native iOS/Android apps
  • 🔌 Plugin System - Extend functionality

Built with ❤️ by Het Charusat