42 Commits

Author SHA1 Message Date
9422439a51 fix: improve mobile responsive design for file list table
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Add comprehensive responsive design for multiple screen sizes (1024px, 768px, 480px, 320px, 280px)
- Implement horizontal scrolling with touch support for table overflow
- Optimize column widths and font sizes for each breakpoint
- Add visual scroll hints for mobile users
- Ensure proper viewport utilization with calc() functions
- Fix table layout issues on extreme small screens (280px)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 16:45:31 +09:00
7796d9b7d5 fix: improve category cancel button functionality
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Enhanced resetCategoryForm() to properly reset editing state
- Clear currentEditCategoryId when cancelling
- Reset button text and form title to default state
- Add console logging for better debugging

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 14:08:04 +09:00
d6a0656f12 cleanup: remove unnecessary files and dependencies
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Remove duplicate database files (database.sqlite, database/jaryo.db)
- Remove test files (test-login.html)
- Remove redundant deployment scripts (deploy.sh, start-simple.bat)
- Remove vercel dev dependency and fix security vulnerabilities
- Clean up project structure for better maintainability

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 13:28:35 +09:00
04d92b7842 feat: update Claude Code settings
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 13:21:43 +09:00
d3d8aa48b6 cleanup: remove MariaDB dependencies and files
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Remove MariaDB helper, schema, and initialization script
- Remove mysql2 dependency from package.json
- Update reset-admin.js to use SQLite DatabaseHelper
- Simplify .env.example to remove MariaDB configuration
- Update start-service.sh to use SQLite initialization
- Clean up all MariaDB references across codebase

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 14:08:44 +09:00
80f147731e refactor: simplify to use SQLite for all environments
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Change all environments (local and NAS) to use SQLite database
- Remove MariaDB dependency and complexity
- Make database initialization optional in deployment script
- Simplify deployment by using single database type across all environments

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 13:54:59 +09:00
ed5fa15814 feat: enhance database environment handling and cleanup project
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Add environment-specific database selection (SQLite for local, MariaDB for NAS)
- Remove edit button from admin detail view modal for cleaner UX
- Clean up project files: remove redundant docs and test files
- Update deployment script with improved SSH handling
- Maintain backward compatibility while supporting both database types

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 13:13:19 +09:00
896e42d9cc fix(admin): include credentials on auth requests and adapt login response
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
2025-08-22 16:42:30 +09:00
bda299a6c3 Fix download functionality and attachment display
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Fixed MariaDB compatible download API for NAS deployment
- Updated SQLite schema to remove deprecated file_data column
- Enhanced attachment display consistency between admin and public pages
- Resolved category ordering issues in SQLite environment
- Added NAS MariaDB remote connection configuration
- Improved file upload and download functionality for both environments

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 15:44:54 +09:00
7be1f2ed07 MariaDB 완전 마이그레이션 및 NAS 배포 최적화
- MariaDB 환경별 자동 감지 (Windows/NAS/Linux)
- Unix Socket 및 TCP 연결 지원
- 완전한 UTF8MB4 스키마 적용
- 자동 초기화 스크립트 개선
- NAS 배포 스크립트 MariaDB 지원
- 환경변수 기반 설정 시스템
- 상세한 배포 가이드 문서화

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 13:38:25 +09:00
ced3fd03e4 Add admin password reset script with mysql2 dependency
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
2025-08-22 12:21:24 +09:00
1a053ca047 Fix MariaDB connection to use Unix socket 2025-08-22 11:23:39 +09:00
92391aa2c0 Add MariaDB support for Jaryo File Manager
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Add MariaDB schema with UTF8MB4 charset
- Create MariaDB helper class with connection pooling
- Update application to use MariaDB instead of SQLite
- Configure database user and permissions
- Set service to run on port 3007

Database Configuration:
- Host: localhost:3306
- Database: jaryo
- User: jaryo_user
- Tables: users, files, file_attachments, categories, user_sessions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 11:06:54 +09:00
6c41f5d883 Add Windows auto-startup configuration and NAS deployment
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Add Windows service startup scripts (start/stop-jaryo-service.bat)
- Add auto-startup configuration with Task Scheduler
- Add XML task definition for Windows Task Scheduler
- Update server.js to bind to specific IP (99.1.110.50)
- Add comprehensive auto-startup documentation
- Prepare for NAS deployment with existing scripts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 10:24:32 +09:00
49d16f0512 수정
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
2025-08-21 20:43:34 +09:00
2195cdf1b9 Fix large file download and title color issues
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- 대용량 파일 다운로드: blob 방식 대신 직접 링크 방식으로 변경하여 메모리 문제 해결
- 자료 목록 제목 색상: 파란색(#667eea)으로 변경하여 가독성 향상

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 20:04:58 +09:00
bbf1ec10ef Improve large file download handling
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Add better error handling for ECONNABORTED (client disconnect)
- Add Accept-Ranges header for better download resume support
- Add client connection close detection
- Improve logging for download interruptions
- Better file stat handling for large files

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 19:37:52 +09:00
ec2e9abcad Update header title color to blue in both main and admin pages
Some checks failed
Deploy to Vercel / deploy (push) Has been cancelled
Deploy to Railway / deploy (push) Has been cancelled
- Changed header h1 color from #4a5568 (gray) to #667eea (blue)
- Applied same blue color to both main page and admin page
- Consistent branding across all pages

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 19:12:42 +09:00
922552c30b Update deployment scripts with Node.js path fixes and data preservation
- Modified deploy-to-nas.sh to use vibsin9322 account
- Added Node.js path detection for Synology NAS
- Fixed npm command paths to use full Node.js path
- Added database backup and preservation logic
- Created manual deployment guide and SSH helper scripts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 18:23:27 +09:00
ce34ca7956 Add comprehensive NAS deployment scripts and guides
- Add deploy-to-nas.sh: automated deployment script with SSH port 2222
- Add manual-nas-deployment-guide.md: step-by-step manual deployment guide
- Include service start/stop scripts and monitoring tools
- Add troubleshooting and auto-start configuration
- Support both automated and manual deployment approaches
2025-08-21 14:28:55 +09:00
6477a488c2 Add comprehensive Synology NAS Git server setup guides
- Add synology-git-diagnostic.md: complete troubleshooting guide
- Enhance create-git-repo.sh: improved error handling and user feedback
- Add nas-git-connection-test.md: step-by-step connection testing
- Add alternative-git-servers.md: Docker-based Git server alternatives
- Cover Gitea, GitLab, Forgejo, and manual Git server installation
- Include troubleshooting and performance optimization tips
2025-08-21 13:58:24 +09:00
c6ec1c3720 Add simple test page for 404 debugging
- Create simple.html as fallback test page
- Set root route to simple.html for immediate access
- Include API test functionality in the page
- Verify basic Vercel deployment works
2025-08-21 13:35:38 +09:00
08894eeb66 Fix serverless functions: simplify API structure
- Replace complex Express-style handler with simple module.exports
- Add separate API endpoints for better organization
- Simplify vercel.json routing configuration
- Remove ES modules to use CommonJS for Vercel compatibility
- Add dedicated test API endpoint for debugging
2025-08-21 13:32:53 +09:00
ec5da4db32 Fix Vercel serverless deployment: optimize for fast loading
- Convert Express app to Vercel serverless function
- Add missing /api/files/public endpoint
- Optimize static file routing with proper caching
- Remove unnecessary dependencies for faster cold starts
- Add comprehensive debugging and error handling
- Improve API response times and user experience
2025-08-21 13:25:57 +09:00
ce29d6bc3b Fix Vercel routing: separate API and static file routes 2025-08-21 13:11:42 +09:00
43d0802442 Fix Vercel deployment issues: add CORS fix, session config, and simple API version 2025-08-21 13:06:35 +09:00
9b9eb7f321 Fix Vercel deployment: add serverless compatibility and API routes 2025-08-21 12:43:53 +09:00
6f68196127 Fix Vercel config: remove functions property to resolve build conflict 2025-08-21 12:31:39 +09:00
67f944a318 Add GitHub Actions deployment workflows and cloud platform configs 2025-08-21 11:26:03 +09:00
a8a31b696a Add complete Jaryo File Manager with Synology NAS deployment support 2025-08-21 11:22:54 +09:00
122d0e2582 Enhance pagination and UI consistency across admin/user interfaces
- Fixed pagination to display exactly 10 items per page
- Made pagination controls always visible, even with empty data
- Synchronized data structure and sorting between admin and main pages
- Improved pagination styling with better visibility and centering
- Enhanced attachment display with file icons, names, and sizes
- Implemented detailed view pages for both interfaces
- Optimized table row spacing for more compact display
- Centered attachment icons with file names for better visual balance

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 20:29:32 +09:00
7a08bf9b4c Add comprehensive file management system with admin/user separation
Features added:
- Admin interface with full CRUD operations and multi-file upload
- User interface with read-only access and download functionality
- Board-style table layout with pagination (10 items per page)
- Category-specific file icons and attachment management
- Drag & drop file upload with preview and individual file removal
- Individual and bulk download with ZIP compression support
- Offline mode with localStorage fallback for both interfaces
- Responsive design with modern UI components

Technical improvements:
- Separated admin (/admin/) and user (/) interfaces
- Enhanced file data structure with consistent naming
- Improved error handling and user notifications
- Multi-file upload processing with base64 encoding
- File type detection and appropriate icon mapping
- Download functionality with single/multiple file handling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 19:56:16 +09:00
033eb567c5 Improve download location guidance and user experience
- Add download folder path detection based on platform
- Show download location in notification for first-time users
- Add helpful tooltip to download button explaining options
- Support Ctrl+click for "Save As" dialog option
- Add multi-line support for notification messages
- Provide guidance for changing browser download settings

Download UX improvements:
• Clear indication of where files are saved
• Platform-specific path information (Windows/Mac/Linux)
• First-time user education about download settings
• Keyboard shortcut support for advanced users

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:45:29 +09:00
2889a4e299 Improve UI layout and notification system
- Fix overlapping text issues in file cards and meta information
- Improve download success notification with actual filenames
- Enhance file actions button layout with better spacing
- Add modern notification system with animations and better styling
- Improve responsive design for mobile devices
- Add proper spacing and alignment for read-only badges
- Update notification positioning and mobile responsiveness

UI improvements:
• Better text spacing and wrapping
• Professional notification animations
• Improved mobile layout
• Enhanced file action button alignment

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:39:08 +09:00
73d5359deb Revert to 'files' bucket and update error messages
- Revert bucket name from 'file-storage' back to 'files'
- Update error messages to indicate Storage policy issues
- Files bucket exists but may need proper RLS policies

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:25:12 +09:00
3ee4b98ee0 Add Storage bucket verification and improved error handling
- Add checkOrCreateBucket method to verify Storage bucket exists
- Improve error handling for bucket not found errors
- Add detailed logging for upload and download operations
- Provide user-friendly error messages for Storage issues
- Check bucket existence before upload and download operations

This resolves: "Bucket not found" errors in file downloads

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:20:16 +09:00
9ba38e69c2 Fix file upload path issues with Korean filenames
- Replace complex filename sanitization with simple timestamp-based naming
- Generate safe filenames using timestamp and random strings
- Store original filename in database, use safe names in storage
- Remove Korean characters and special characters from storage paths
- Preserve file extensions for proper file type handling

This resolves: "Invalid key" errors with Korean filenames in Supabase Storage

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:16:52 +09:00
c647cbdc6c Fix database schema compatibility - remove invalid fields
- Remove id, created_at, updated_at from client-side fileData
- Extract only valid database fields in addFile and updateFile functions
- Let database handle UUID generation and timestamps automatically
- Clean separation between client data structure and database schema
- Fix persistent createdAt column error by filtering client-side fields

This should resolve: "Could not find the 'createdAt' column of 'files' in the schema cache"

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:14:30 +09:00
4eb3bf0e34 Fix database column naming mismatch (createdAt vs created_at)
- Change JavaScript code to use snake_case column names (created_at, updated_at)
- Add backward compatibility for existing localStorage data
- Fix sorting and display functions to use correct column names
- Ensure consistent column naming between database schema and JavaScript code

This resolves the error: "Could not find the 'createdAt' column of 'files' in the schema cache"

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:11:28 +09:00
a0efe6f637 Fix file upload errors and improve error handling
- Fix uploadAttachments method to use proper SupabaseHelper methods
- Add addFileAttachment method for proper database insertion
- Improve error handling with detailed logging and user feedback
- Add file upload progress tracking and cleanup on failure
- Fix direct supabase variable access issues
- Better error messages for users and developers

Bug fixes:
• File upload now works properly with Supabase Storage
• Database insertion errors are properly handled
• Failed uploads are cleaned up automatically
• More informative error messages displayed to users

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:08:28 +09:00
7bae9abe28 Add guest mode functionality for read-only access
- Implement guest mode for unauthenticated users
- Allow file viewing and downloading without login
- Hide create/edit/delete functions for guests
- Add guest mode banner with login prompt
- Add read-only badges for guest accessible files
- Include permission checks for all CRUD operations
- Add responsive guest mode styling
- Support both online (Supabase) and offline (localStorage) modes

Features:
• Guest users can view all files and download attachments
• Authentication required for create, edit, delete operations
• Seamless transition between guest and authenticated modes
• User-friendly guest experience with clear login prompts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 14:02:13 +09:00
ac506321e8 Initial commit: Web-based file management system (자료실)
- Complete CRUD functionality for file records
- Hybrid Supabase cloud database + localStorage support
- User authentication and authorization
- File upload with cloud storage
- Search, filtering, and categorization features
- Responsive design with offline capabilities

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 12:51:49 +09:00