Update README: add profile management features, correct theme count, expand API docs
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user