Skip to content

Repository files navigation

📁 DCISM Drive — Student Cloud Storage Portal

DCISM Drive is a secure, premium web portal designed for students to access, manage, and back up their files on the school's internal SFTP server (data.dcism.org). It replaces rigid command-line file management with a modern, responsive, and secure cloud storage experience.


🌟 Key Features

💎 Premium Modern Interface

  • Responsive Layout: Seamless navigation across Desktop, Tablet, and Mobile screens.
  • Rich Aesthetics: A cohesive dark mode interface featuring smooth CSS micro-animations, glassmorphic modals, and active storage visualizers.
  • Touchscreen Friendly: Optimized scrolling physics and touch-action mappings for mobile browsers (including iOS Safari).

🔒 Enterprise-Grade Session Isolation

  • Multi-User Security: Utilizes express-session to instantiate isolated SFTP clients (SFTPManager) for each unique browser tab/session. One student's session can never view or access another user's files.
  • Inactivity Timeout: Automatically disconnects idle SFTP sessions after 5 minutes of inactivity to prevent unauthorized access on shared school lab computers.
  • Automatic Session Cleanup: Session cookies are configured to destroy automatically when the browser window or tab is closed.

🛠️ Resilient Developer Tools

  • Auto-Routing SSH Tunneling: Automatically redirects school server connections to 127.0.0.1:22074 when a local SSH tunnel is active off-campus.
  • Offline Dev Sandbox: Falls back seamlessly to a local laptop sandbox directory (tmp_sftp_storage/) when developing off-campus without an active tunnel connection.

📂 Comprehensive File Operations

  • File Management: Create directories, upload, download, and rename files or folders.
  • Soft Delete (Trash): Soft-deletes files to a hidden .trash directory, allowing students to restore items easily or empty their trash permanently.
  • Bulk Operations: Select multiple files or folders for batch deletion or download as a unified ZIP archive.
  • PDF & Code Previews: View documents and source code directly in the browser.

⚙️ Technical Architecture

Frontend Stack

  • Framework: React 19 (SPA) + Vite
  • Styling: Tailwind CSS & Custom CSS
  • Icons & Animation: Lucide React & Framer Motion
  • Safety: Safe local storage wrapper preventing crashes on iOS WebKit Private Browsing.

Backend Stack

  • Server: Node.js & Express
  • Session Store: In-memory session tracking with cookie isolation
  • Client Protocol: ssh2-sftp-client with legacy algorithm negotiation fallbacks
  • Compression: archiver for runner-side ZIP packaging

🚀 CI/CD & Deployment

This repository is configured with a GitHub Actions workflow (.github/workflows/deploy.yml):

  • Pushing to the master/main branches automatically triggers a compilation and production build.
  • Packages and uploads files to the production server via secure SCP.
  • Extracts package contents and cleanly restarts the application process using PM2.

About

Secure cloud-storage portal for accessing school files on internal USC DCISM SFTP servers. Features a glassmorphic React interface, session-isolated SFTP managers, auto-routing SSH tunnels, local dev sandboxing, bulk ZIP downloads, and automated PM2 deployment.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages