A secure, lightweight file upload service with sexy anti-virus protection and beautiful previews.
git clone <repo-url>
cd eng_day_FileNest
# OPTIONAL: Start the sexy anti-virus scanner
# The app will run without Docker. Just not the anti-virus
docker-compose up -d clamav
# Setup Rails
bundle install
bin/rails db:create db:migrate
bin/rails serverVisit http://localhost:3000 and start uploading! 🎉
SKIP_VIRUS_SCAN=true bin/rails server- Real-time virus scanning with ClamAV integration
 - Every file is scanned before it touches your system
 - EICAR test detection - try uploading a test virus!
 - Fail-safe design - infected files are blocked instantly
 - Dockerized scanner - keeps your system clean
 
- Image previews - JPG, PNG, GIF, SVG support
 - Text file viewing - TXT, MD, CSV files
 - Modal preview with full-screen support
 - Instant loading with smooth animations
 
- Click to rename any file instantly
 - Real-time validation of file names
 - Keyboard shortcuts (Enter to save, Escape to cancel)
 - Extension protection - keeps files safe
 
- One-click downloads with proper file names
 - Owner-only access - your files stay yours
 - Bulk operations coming soon
 
- Drag & drop file uploads
 - Real-time progress bars
 - Responsive design works on all devices
 - Material Design with smooth animations
 
- Ruby 3.3.5+
 - PostgreSQL
 - Docker (for the sexy anti-virus)
 
| Type | Extensions | Max Size | 
|---|---|---|
| Images | JPG, PNG, GIF, SVG | 2MB | 
| Documents | TXT, MD, CSV | 2MB | 
Want to see the sexy anti-virus in action?
# Quick virus test
ruby script/simple_virus_test.rb
# Full test suite
ruby script/test_virus_scanning.rbTry uploading the EICAR test virus - it gets blocked instantly! 🦠❌
- JWT authentication - secure API access
 - File ownership - users only see their files
 - Virus scanning - every upload is checked
 - Input validation - malicious files blocked
 - CORS protection - API security built-in
 
- Register/Login - create your account
 - Drag & Drop - upload files instantly
 - Preview - click the eye icon to view files
 - Rename - click any filename to edit
 - Download - grab your files anytime
 - Delete - remove files you don't need
 
export RAILS_ENV=production
export SECRET_KEY_BASE=your_secret_key
export DATABASE_URL=your_database_url
export CLAMAV_HOST=your_clamav_host
export REQUIRE_VIRUS_SCAN=true
bin/rails db:migrate
bin/rails serverClamAV not working?
docker-compose logs clamavDatabase issues?
bin/rails db:resetWant to skip virus scanning?
SKIP_VIRUS_SCAN=true bin/rails serverFileNest - Simple. Secure. Sexy anti-virus included. 🛡️✨