99 lines
4.1 KiB
Markdown
99 lines
4.1 KiB
Markdown
|
|
Write a App in python with Flask. Make sure that you do not override the existing main.py
|
|
Use existing classes but if a chnae is needed make sure main.py works as before. Look at Main.py to understand the function.
|
|
Write all files in folder src/server/
|
|
Use the checklist to write the app. start on the first task. make sure each task is finished.
|
|
mark a finished task with x, and save it.
|
|
Stop if all Task are finshed
|
|
|
|
AniWorld Web App Feature Checklist
|
|
|
|
[x] Anime Search
|
|
[x] Implement search bar UI (auto-suggest, clear button)
|
|
[x] Connect search to backend loader
|
|
[x] Display search results (name, link, cover)
|
|
[x] Add anime from search results to global list
|
|
|
|
[x] Global Series List
|
|
[x] Display all series in a card/grid layout
|
|
[x] Show missing episodes per series
|
|
[x] Show cover, name, folder, and quick actions
|
|
[x] Multi-select series with checkboxes
|
|
[x] Select all series option
|
|
|
|
[x] Download Management
|
|
[x] Start download for selected series
|
|
[x] Show overall and per-episode progress bars
|
|
[x] Status indicators (downloading, finished, error)
|
|
[x] Pause, resume, cancel actions
|
|
|
|
[x] Reinit/Rescan Functionality
|
|
[x] UI button for rescan/reinit
|
|
[x] Show scanning progress modal
|
|
[x] Live updates during scan
|
|
[x] Update global series list after scan
|
|
|
|
[x] Status & Feedback
|
|
[x] Real-time status updates for scanning/downloading
|
|
[x] Snackbar/toast notifications for actions
|
|
[x] Centralized error dialog (friendly messages)
|
|
|
|
[x] Configuration & Environment
|
|
[x] Read base directory from environment variable
|
|
[x] UI for changing directory (if needed)
|
|
[x] Display current config (read-only)
|
|
|
|
[x] Security
|
|
[x] Validate all user inputs
|
|
[x] Do not expose internal errors or stack traces
|
|
|
|
[x] Modern GUI Concepts
|
|
[x] Fluent UI design (Windows 11 iconography, shapes, typography)
|
|
[x] Responsive design for desktop/mobile
|
|
[x] Dark and light mode support
|
|
[x] Localization-ready (resource files for text)
|
|
[x] Effortless, calm, and familiar user experience
|
|
|
|
[] Authentication & Security
|
|
[] Implement login page with master password authentication
|
|
[] Add password configuration option in config file
|
|
[] Add session management for authenticated users
|
|
[] Implement fail2ban compatible logging for failed login attempts
|
|
[] Use standard fail2ban log format: "authentication failure for [IP] user [attempt]"
|
|
|
|
[] Enhanced Anime Display
|
|
[] Modify main anime list to show animes with missing episodes first
|
|
[] Add filter toggle to show only animes with missing episodes
|
|
[] Implement alphabetical sorting option for anime names
|
|
[] Make only animes with missing episodes selectable for download
|
|
[] Add visual indicators for animes with/without missing episodes
|
|
|
|
[] Download Queue Management
|
|
[] Create dedicated download queue page showing active downloads
|
|
[] Display current download progress with episode name and download speed
|
|
[] Show download queue with pending items
|
|
[] Implement download queue status indicators (queued, downloading, completed, failed)
|
|
[] Add download queue statistics (total items, ETA, current speed)
|
|
|
|
[] Process Locking System
|
|
[] Implement rescan process lock (only one rescan at a time)
|
|
[] Add UI feedback when rescan is already running
|
|
[] Disable rescan button when process is active
|
|
[] Implement download queue lock (only one download process)
|
|
[] Prevent duplicate episodes in download queue
|
|
[] Add queue deduplication logic
|
|
|
|
[] Scheduled Operations
|
|
[] Add configuration option for scheduled rescan time (HH:MM format)
|
|
[] Implement daily automatic rescan at configured time
|
|
[] Auto-start download of missing episodes after scheduled rescan
|
|
[] Add UI to configure/view scheduled rescan settings
|
|
[] Show next scheduled rescan time in UI
|
|
|
|
[] Enhanced Logging
|
|
[] Configure console logging to show only essential information
|
|
[] Remove progress bars from console output
|
|
[] Implement structured logging for web interface
|
|
[] Add authentication failure logging in fail2ban format
|
|
[] Separate download progress logging from console output
|
|
[] Add log level configuration (INFO, WARNING, ERROR) |