Update README: add profile management features, correct theme count, expand API docs

This commit is contained in:
2026-01-23 21:27:14 -05:00
parent 7c70e9e85a
commit 5fe1c299b8
+18 -5
View File
@@ -5,6 +5,8 @@ A self-hosted ebook management system built with Go, PostgreSQL, HTMX, and Tailw
## ✨ Features
- **🔒 Multi-User Authentication**: Complete user system with registration/login, JWT-based sessions, and bcrypt password hashing
- **👤 User Profile Management**: Update profile information, username, email, password, and account deletion
- **⚙️ Scan Settings**: Configure scan frequency and auto-scan options per user
- **✅ Server-Side Validation**: Comprehensive input validation with detailed error messages
- **🌙 Multiple Themes**: 11 beautiful themes including Tokyo Night, Dracula, Nord, Solarized Dark, Monokai, One Dark Pro, Material Dark, and Catppuccin variants (Mocha, Macchiato, Frappé, Latte) with user preferences saved to database
- **🎨 Theme Persistence**: User theme choices sync between browser and server
@@ -59,7 +61,7 @@ The application uses Go HTML templates for server-side rendering with HTMX for d
**✨ Enhanced Features:**
- **Authentication**: Login/Register forms with multiple theme support at `/login` and `/register`
- **JWT Management**: Secure token storage with localStorage and session persistence
- **Theme Switching**: 7 popular dark themes with dropdown selector and database persistence
- **Theme Switching**: 11 beautiful dark themes with dropdown selector and database persistence
- **HTMX Integration**: Form submissions and dynamic updates without page reloads
- **Input Validation**: Server-side validation with detailed error messages
- **Multiple Themes**: Beautiful dark themes with smooth transitions
@@ -73,12 +75,21 @@ The application uses Go HTML templates for server-side rendering with HTMX for d
- `POST /api/auth/register` - Register new user
- `POST /api/auth/login` - Login user (email or username)
- `GET /api/auth/profile` - Get user profile (requires JWT)
- `PUT /api/auth/profile` - Update user profile (first_name, last_name) (requires JWT)
- `PUT /api/auth/theme` - Update user theme preference (requires JWT)
- `PUT /api/user/username` - Update username (requires JWT)
- `PUT /api/user/email` - Update email (requires JWT)
- `PUT /api/user/password` - Update password (requires JWT)
- `DELETE /api/user/account` - Delete user account (requires JWT)
### Ebook Folders (Protected)
- `POST /api/auth/ebook-folders` - Add an ebook folder for scanning
- `GET /api/auth/ebook-folders` - List user's configured ebook folders
- `DELETE /api/auth/ebook-folders/:folderPath` - Remove an ebook folder
- `DELETE /api/auth/ebook-folders` - Remove an ebook folder
### Library Settings (Protected)
- `PUT /api/library/scan-settings` - Update scan frequency and auto-scan settings
- `GET /api/library/scan-settings` - Get current scan settings
### Ebooks (Protected)
- `GET /api/ebooks` - List ebooks
@@ -160,12 +171,14 @@ Use the included Bruno collection in the `bruno/` directory for testing the API:
### Backend Improvements
- **Server-Side Rendering**: Replaced static frontend with Go HTML templates
- **Theme System**: Database-backed user theme preferences with 7 popular dark themes
- **Theme System**: Database-backed user theme preferences with 11 beautiful dark themes
- **HTMX Integration**: Dynamic interactions using HTMX for modern UX
- **Enhanced Security**: JWT authentication with theme persistence
- **User Profile Management**: Full CRUD operations for user profiles, usernames, emails, passwords, and account deletion
- **Multiple Folder Support**: Users can configure multiple ebook directories
- **Smart Ebook Scanner**: Automatic discovery and metadata extraction from EPUB files
- **Real-Time Monitoring**: File system watching for automatic ebook updates
- **Scan Settings**: User-configurable scan frequency and auto-scan options
### Frontend Redesign
- **Beautiful Homepage**: Hero section with features showcase and modern design
@@ -179,8 +192,8 @@ Use the included Bruno collection in the `bruno/` directory for testing the API:
- **Go Templates**: Server-side rendering with template inheritance
- **Tailwind CSS**: Utility-first CSS framework via CDN
- **TypeScript Support**: Client-side scripting with TypeScript compilation
- **Database Schema**: Added user_ebook_folders table for multiple folder support
- **API Expansion**: New endpoints for folder management and scanner operations
- **Database Schema**: Added user names (first_name, last_name) and user_ebook_folders table for enhanced user profiles and multiple folder support
- **API Expansion**: New endpoints for user profile management, folder management, scanner operations, and scan settings
- **Metadata Extraction**: EPUB parsing for rich ebook information
- **File System Monitoring**: Real-time folder watching with fsnotify