WebTermSFTP
WebTermSFTP is a full-stack web application that provides a browser-based terminal, remote file editing, file transfer, and command management capabilities. The backend is implemented with Express.js, offering RESTful APIs for HTTP requests as well as WebSocket communication for real-time terminal interaction and file transfer. Users can connect to remote servers via SSH or interact with built-in Docker environments to explore and test features safely without needing their own servers. The platform integrates Supabase-based authentication, rate limiting, and traffic control for secure and efficient usage.
Key Features
- 🖥️ Web-Based Terminal
- Real-time terminal interaction using WebSockets
- xterm.js integration for a native terminal experience
- Supports SSH remote servers and Docker-based environments
- ⚙️ Unified Terminal Abstraction
- Adapter Pattern unifies PTY (node-pty) streams and WebSocket channels
- Defined a common interface for terminal I/O
- Transport-agnostic handling across SSH and container environments
- 📁 Remote File Editing (Monaco Editor)
- In-browser file editing with Monaco Editor (VS Code engine)
- Supports files from SSH servers and Docker container file systems
- Real-time file loading and saving through the proxy layer
- 📂 SFTP File Management UI
- Integrated file explorer UI powered by SFTP
- Supports file/directory listing, upload, download, and basic create/rename/delete operations
- Stream-based transfers for efficient handling of large files
- Integrated with terminal sessions for a seamless workflow
- 🐳 Container-Based Execution
- On-demand Docker container execution
- Container pooling to reduce startup latency
- Isolated environments per session
- 🔐 Session & Proxy Architecture
- Centralized proxy server managing terminals, file editing, and transfers
- Session handling via HTTP-only cookies for anonymous and authenticated users
- 🧩 Command Management System (CRUD)
- Full CRUD support for user-defined commands
- Stored in a backend database with user ownership
- Enables reusable command workflows and automation
Architecture Highlights
- Proxy-based system to isolate client interactions from execution environments
- Unified PTY streams and WebSocket communication via Adapter Pattern
- File system abstraction layer for SSH and Docker environments
- Container pool manager for efficient resource reuse
- Real-time streaming for terminal and file operations
Challenges & Solutions
- Different I/O models (PTY vs WebSocket): Unified using Adapter Pattern
- File access differences (SSH vs Docker FS): Abstracted into a unified interface
- Large file transfer performance: Stream-based SFTP transfer without ACK overhead
- Container startup latency: Reduced using container pooling
Tech Stack
Scientific Calculator Web & Mobile App
Cross-platform scientific calculator built with React, TypeScript, and Capacitor. Delivered advanced expression editor and extensible math architecture supporting structured mathematical input and future expansion.
Key Features
- Advanced Expression Editor:
- Visual representation of nested square roots, exponents, and fractions
- Reusable auto-resizing input component for dynamic width
- Cursor-aware, symbol-precise input for structured math editing
- Custom keypad optimized for desktop & mobile
- Multiple Calculation Modes:
- Scientific calculation mode
- Polynomial equation solver
- Calculation history tracking
Extensible Math Architecture
- Strategy + Registry patterns decouple evaluation, rendering, and expression structure
- TypeScript decorators for plugin-style extensibility
- New mathematical features can be added without modifying core logic
Tech Stack
Custom WooCommerce E-commerce Site
A fully customized WooCommerce-based e-commerce website, restored and migrated from a previously live production environment to AWS EC2. Demonstrates full-stack WordPress development, payment integration, deployment, and operational management.
Project Highlights
- E-commerce Development & Customization:
- Custom functionality using WordPress, WooCommerce, and Stripe for secure payments
- Product, inventory, and invoice management
- Payment and shipping workflow implementation
- Order lifecycle handling
- WordPress Customization:
- Extended site behavior with WordPress Hooks & Filters
- Customized Elementor widgets for business requirements
- Role-based access control using Ultimate Member (UM Member)
- Tailored user flows for admins, vendors, and customers
- Infrastructure & Deployment:
- AWS EC2 provisioning and management for hosting
- AWS S3 for backups and asset storage
- Site backup, restoration, and hosting migration
- Secure deployment and ongoing maintenance
- Migrated system from Apache to Nginx
- Site Administration & Maintenance:
- Full website lifecycle management: setup, deployment, operation, backup
- Regular maintenance and client support
- Site Restoration & Migration:
- Restored a previously live e-commerce website and migrated it to AWS EC2
- Demonstrated production recovery and redeployment skills