Skip to content
Radmehr Behzadfar, full-stack developer in Toronto
Projects · 04Web · Winter 2025

DSA Project Terminal

An in-browser terminal that opens our Seneca DSA456 group project: read the real files, run the data-cleaning pipeline as a scripted replay, and download what it produces.

~/dsa · project terminalxterm.js

Commands

Everything the shell understands. Tab completes commands and paths; ↑ and ↓ move through history.

help
Show available commands
ls [directory]
List files and directories
cat <file>
Display file contents
cd <directory>
Change directory
pwd
Print working directory
python project.py
Run the project's pipeline (a scripted replay) and write its output files
download <file>
Save a file from the project to your computer
history
Show command history
clear
Clear the terminal and remove the output folder
reset
Restore the original files and start over

The run is a scripted replay of the project's stages. Nothing executes on a server, and the files are the project's own.

What it does

What I built

A terminal emulator built on xterm.js over a small in-memory file system holding the project's README, task brief, utility module, main script and requirements. `python project.py` replays the pipeline stage by stage — load, clean, organize, extract, save — and writes results.txt, cleaned_data.csv and insights.json into an output folder you can list, read and download. Tab completion and ↑/↓ history behave as they do in a real shell.

Features

  • xterm.js terminal with a virtual file system: ls, cat, cd, pwd, tab completion and command history
  • python project.py replays the pipeline and creates results.txt, cleaned_data.csv and insights.json
  • download <file> saves any file, including the generated output, through a Blob URL
  • Runs entirely client-side; clear removes the output and reset restores the original files

Stack

TypeScript · Next.js · xterm.js · Python

Team

Radmehr Behzadfar · Nirajan Bist · Sujan Sharma

Comments

You need an account to comment. Sign in or create one.
No comments yet.