This guide provides step-by-step instructions for setting up a fresh machine to download, build, and run the Transcript Parser project from GitHub. Follow these instructions in order to ensure a successful setup.
- System Requirements
- Install Prerequisites
- Clone the Repository
- Project Setup
- Configure Environment
- Build the Application
- Run the Application
- Verify Installation
- Troubleshooting
- Operating System: Windows 10+, macOS 10.13+, or Ubuntu 18.04+
- RAM: 4GB (8GB recommended)
- Disk Space: 2GB free space (for tools, dependencies, and project)
- Internet Connection: Required for downloading dependencies and API calls
- RAM: 8GB+ for building and running Electron apps
- CPU: Multi-core processor for faster builds
- SSD: For better performance during development
Node.js is required to run the application and manage dependencies.
- Visit nodejs.org
- Download the LTS (Long Term Support) version (currently v18 or higher)
- Run the installer (
node-vXX.X.X-x64.msi) - Follow the installation wizard:
- Accept the license agreement
- Choose installation path (default:
C:\Program Files\nodejs\) - IMPORTANT: Check the box that says "Automatically install necessary tools" (installs Python and Visual Studio Build Tools)
- Click "Install" and wait for completion
- Restart your computer
Option 1: Using Official Installer
- Visit nodejs.org
- Download the LTS version for macOS
- Run the
.pkginstaller and follow the prompts
Option 2: Using Homebrew (recommended if you have Homebrew)
brew install node# Update package index
sudo apt update
# Install Node.js LTS using NodeSource repository
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# Verify installation
node --version
npm --versionOpen a terminal/command prompt and run:
node --version
# Should output: v18.X.X or higher
npm --version
# Should output: 9.X.X or higherGit is required to clone the repository from GitHub.
- Visit git-scm.com
- Download the latest version for Windows
- Run the installer (
Git-X.XX.X-64-bit.exe) - Follow the installation wizard with these recommended settings:
- Select Components: Keep defaults (Git Bash, Git GUI)
- Default Editor: Choose your preferred editor (VS Code recommended)
- Adjusting PATH: Select "Git from the command line and also from 3rd-party software"
- Line Ending: Select "Checkout Windows-style, commit Unix-style"
- Terminal Emulator: Use MinTTY (default)
- Git Pull Behavior: Default (fast-forward or merge)
- Click "Install" and wait for completion
Option 1: Using Official Installer
- Visit git-scm.com
- Download and run the installer
Option 2: Using Homebrew (recommended)
brew install gitOption 3: Using Xcode Command Line Tools
xcode-select --installsudo apt update
sudo apt install git -ygit --version
# Should output: git version 2.XX.X or highergit config --global user.name "Your Name"
git config --global user.email "your.email@example.com"- Visit code.visualstudio.com
- Download the installer for your operating system
- Run the installer:
- Windows: Run the
.exeinstaller - macOS: Drag VS Code to Applications folder
- Linux: Use
.debor.rpmpackage, or Snap
- Windows: Run the
Recommended VS Code Extensions:
- ESLint (dbaeumer.vscode-eslint)
- Prettier - Code formatter (esbenp.prettier-vscode)
- TypeScript Vue Plugin (Vue.vscode-typescript-vue-plugin)
- Tailwind CSS IntelliSense (bradlc.vscode-tailwindcss)
- JetBrains WebStorm: jetbrains.com/webstorm
- Sublime Text: sublimetext.com
- Atom: atom.io
Some npm packages require Python for building native modules.
- Visit python.org
- Download Python 3.11 or higher
- Run the installer
- IMPORTANT: Check the box "Add Python to PATH"
- Click "Install Now"
Verify:
python --version
# Should output: Python 3.11.X or higherNote: If you installed Node.js with "Automatically install necessary tools" checked, Python should already be installed.
Python usually comes pre-installed. Verify:
python3 --versionDecide where you want to store the project. For example:
- Windows:
C:\code\orC:\Users\YourName\Projects\ - macOS/Linux:
~/code/or~/Projects/
- Windows: Press
Win + R, typecmd, press Enter - macOS: Press
Cmd + Space, typeTerminal, press Enter - Linux: Press
Ctrl + Alt + T
# Windows
cd C:\code
# macOS/Linux
cd ~/codeIf the directory doesn't exist, create it:
# Windows
mkdir C:\code
cd C:\code
# macOS/Linux
mkdir ~/code
cd ~/codegit clone https://github.com/KevenWMarkham/transcript-parser.gitThis will create a transcript-parser folder with all project files.
cd transcript-parserRun the following command to install all required npm packages:
npm installWhat this does:
- Downloads all dependencies listed in package.json
- Installs both production and development dependencies
- Sets up Husky git hooks automatically
- May take 2-5 minutes depending on your internet speed
Expected output:
added XXX packages in XXs
npx playwright installWhat this does:
- Downloads Chromium, Firefox, and WebKit browsers for testing
- Required for running E2E tests
- Takes about 200-300MB of disk space
The application requires a Google Gemini API key for transcription functionality.
- Visit Google AI Studio
- Sign in with your Google account
- Click "Create API Key"
- Copy the generated API key (starts with
AIza...)
Important: Keep this key secure and never commit it to git.
In the project root directory (transcript-parser), create a new file named .env:
type nul > .env
notepad .envNew-Item -Path .env -ItemType File
notepad .envtouch .env
nano .envPaste the following into the .env file:
# Google Gemini API Key (Required for transcription)
VITE_GEMINI_API_KEY=your_api_key_here
# Optional: Database configuration (for future features)
# DATABASE_URL=postgresql://user:password@localhost:5432/transcript_dbReplace your_api_key_here with your actual API key.
Example:
VITE_GEMINI_API_KEY=AIzaSyDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSave and close the file:
- Notepad: File → Save, then close
- Nano: Press
Ctrl + O, thenEnterto save,Ctrl + Xto exit
Check that the file was created correctly:
# Windows
type .env
# macOS/Linux
cat .envYou should see your API key displayed.
To verify everything is set up correctly, run the development server:
npm run devExpected output:
VITE vX.X.X ready in XXX ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
➜ press h + enter to show help
What this does:
- Starts the Vite development server
- Enables Hot Module Replacement (HMR) for live updates
- Opens the app at
http://localhost:5173
Open a web browser and visit http://localhost:5173 to see the app running.
Press Ctrl + C in the terminal to stop the server.
To create an optimized production build:
npm run buildExpected output:
vite v6.0.5 building for production...
✓ XXX modules transformed.
dist/index.html X.XX kB │ gzip: X.XX kB
dist/assets/index-XXXXX.js XXX.XX kB │ gzip: XXX.XX kB
✓ built in XXXs
What this does:
- Runs TypeScript compiler to check for type errors
- Creates optimized production bundle in
dist/folder - Minifies JavaScript and CSS
- Ready for deployment or Electron packaging
To build the desktop application:
npm run electron:build:winExpected output:
• electron-builder version=XX.X.XX
• loaded configuration file=package.json ("build" field)
• building target=nsis file=dist\Transcript Parser Setup X.X.X.exe
• building block map blockMapFile=dist\Transcript Parser Setup X.X.X.exe.blockmap
The installer will be created in the dist/ folder:
Transcript Parser Setup X.X.X.exe- InstallerTranscript Parser X.X.X.exe- Portable version
npm run electron:build:macOutput: .dmg file in dist/ folder
npm run electron:build:linuxOutput: .AppImage or .deb file in dist/ folder
Build Time: First build may take 5-10 minutes. Subsequent builds are faster.
Best for development and testing:
npm run devOpen browser to http://localhost:5173
Features:
- Hot reload on file changes
- Source maps for debugging
- Fast refresh
Run the app as a desktop application during development:
npm run electron:devWhat this does:
- Starts Vite dev server
- Waits for server to be ready
- Launches Electron app pointing to dev server
Features:
- Desktop app experience
- DevTools available (
Ctrl+Shift+I) - Live reload on changes
Preview the production build locally:
npm run previewOpens at http://localhost:4173 (or next available port)
After building with npm run electron:build:win, run the installer:
Windows:
- Navigate to
dist/folder - Run
Transcript Parser Setup X.X.X.exe - Follow installation wizard
- Launch from Start Menu
macOS:
- Open the
.dmgfile - Drag app to Applications
- Launch from Applications
Linux:
# AppImage
chmod +x dist/Transcript\ Parser-X.X.X.AppImage
./dist/Transcript\ Parser-X.X.X.AppImage
# .deb package
sudo dpkg -i dist/transcript-parser_X.X.X_amd64.debnpm run dev✅ Success: Browser opens to http://localhost:5173 and shows the app
- In the running app, click "🎬 Load Sprint 4 Demo (60 Entries)" button
- Verify:
- ✅ 60 transcript entries load
- ✅ Speaker summary panel shows 3 speakers
- ✅ Smooth scrolling works
- ✅ Color-coded speaker badges appear
npm test✅ Success: All tests pass without errors
npm run lint✅ Success: No linting errors
- Click "Choose Video File" or drag a video file (MP4, MOV, etc.)
- Wait for video to load
- Click "Start Transcription"
- Verify:
- ✅ Processing status updates
- ✅ Transcript entries appear
- ✅ Speaker diarization works
- ✅ No API errors
Note: This test consumes API tokens and incurs small costs.
Solution (macOS/Linux):
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) /usr/local/lib/node_modules
npm installSolution (Windows):
Run Command Prompt as Administrator, then retry npm install.
Windows Solution:
npm install --global windows-build-toolsmacOS Solution:
xcode-select --installLinux Solution:
sudo apt-get install build-essentialSolution: Kill the process using the port or use a different port:
# Windows
netstat -ano | findstr :5173
taskkill /PID <PID> /F
# macOS/Linux
lsof -ti:5173 | xargs kill -9Or specify a different port:
npm run dev -- --port 3000Possible causes:
- API key is incorrect
- Gemini API not enabled in Google Cloud
- Billing not set up on Google Cloud
Solution:
- Verify API key in
.envfile - Visit Google AI Studio
- Regenerate API key
- Ensure billing is enabled in Google Cloud Console
Windows - Missing Visual Studio Build Tools:
npm install --global windows-build-toolsmacOS - Code signing issues:
Add to package.json → build section:
"mac": {
"identity": null
}Linux - Missing dependencies:
sudo apt-get install libgtk-3-0 libnotify4 libnss3 libxss1 libxtst6 xdg-utils libatspi2.0-0 libdrm2 libgbm1 libxcb-dri3-0Solution:
# Clean build cache
rm -rf dist
rm -rf node_modules/.vite
# Rebuild
npm run buildSolution:
# Reinstall Husky
npm run prepare
# Check hook permissions (macOS/Linux)
chmod +x .husky/pre-commit
chmod +x .husky/commit-msgSolution: Increase Node.js memory limit:
# Windows (PowerShell)
$env:NODE_OPTIONS="--max-old-space-size=4096"
npm run build
# macOS/Linux
export NODE_OPTIONS="--max-old-space-size=4096"
npm run build- Read the README for detailed development guide
- Explore the demo mode to understand features
- Review code in
src/directory - Check manual.html for user documentation
- Create a new branch:
git checkout -b feature/your-feature-name - Make changes and commit:
npm run commit - Push to GitHub:
git push origin feature/your-feature-name - Create a Pull Request
- Update version in package.json
- Build for all platforms:
npm run electron:build:win npm run electron:build:mac npm run electron:build:linux
- Upload installers to GitHub Releases
- User Manual - Complete user guide
- Development Guide - Detailed development documentation
- GitHub Repository - Source code
- Node.js Documentation
- npm Documentation
- Vite Documentation
- Electron Documentation
- React Documentation
- TypeScript Documentation
- GitHub Issues: Report bugs
- Email: Contact developer at keven@example.com
Before you start development, ensure you have completed:
- ✅ Installed Node.js (v18+)
- ✅ Installed Git
- ✅ Installed a code editor (VS Code recommended)
- ✅ Cloned the repository from GitHub
- ✅ Ran
npm installsuccessfully - ✅ Created
.envfile with Google Gemini API key - ✅ Ran
npm run devand verified app loads - ✅ Loaded demo transcript successfully
- ✅ Ran tests with
npm test
# Clone repository
git clone https://github.com/KevenWMarkham/transcript-parser.git
cd transcript-parser
# Install dependencies
npm install
# Configure environment
# Create .env file and add: VITE_GEMINI_API_KEY=your_key
# Development
npm run dev # Start dev server (web)
npm run electron:dev # Start Electron dev mode
# Build
npm run build # Production build (web)
npm run electron:build:win # Build Windows installer
npm run electron:build:mac # Build macOS app
npm run electron:build:linux # Build Linux app
# Testing
npm test # Run unit tests
npm run test:watch # Run tests in watch mode
npm run test:e2e # Run E2E tests
# Code Quality
npm run lint # Check for linting errors
npm run lint:fix # Auto-fix linting errors
npm run format # Format code with Prettier
# Git
npm run commit # Interactive commit (recommended)
git commit -m "type: message" # Manual commitLast Updated: December 19, 2024 • Version 1.0.0