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
|
## ✨ Features
|
||||||
|
|
||||||
- **🔒 Multi-User Authentication**: Complete user system with registration/login, JWT-based sessions, and bcrypt password hashing
|
- **🔒 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
|
- **✅ 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
|
- **🌙 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
|
- **🎨 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:**
|
**✨ Enhanced Features:**
|
||||||
- **Authentication**: Login/Register forms with multiple theme support at `/login` and `/register`
|
- **Authentication**: Login/Register forms with multiple theme support at `/login` and `/register`
|
||||||
- **JWT Management**: Secure token storage with localStorage and session persistence
|
- **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
|
- **HTMX Integration**: Form submissions and dynamic updates without page reloads
|
||||||
- **Input Validation**: Server-side validation with detailed error messages
|
- **Input Validation**: Server-side validation with detailed error messages
|
||||||
- **Multiple Themes**: Beautiful dark themes with smooth transitions
|
- **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/register` - Register new user
|
||||||
- `POST /api/auth/login` - Login user (email or username)
|
- `POST /api/auth/login` - Login user (email or username)
|
||||||
- `GET /api/auth/profile` - Get user profile (requires JWT)
|
- `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/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)
|
### Ebook Folders (Protected)
|
||||||
- `POST /api/auth/ebook-folders` - Add an ebook folder for scanning
|
- `POST /api/auth/ebook-folders` - Add an ebook folder for scanning
|
||||||
- `GET /api/auth/ebook-folders` - List user's configured ebook folders
|
- `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)
|
### Ebooks (Protected)
|
||||||
- `GET /api/ebooks` - List ebooks
|
- `GET /api/ebooks` - List ebooks
|
||||||
@@ -160,12 +171,14 @@ Use the included Bruno collection in the `bruno/` directory for testing the API:
|
|||||||
|
|
||||||
### Backend Improvements
|
### Backend Improvements
|
||||||
- **Server-Side Rendering**: Replaced static frontend with Go HTML templates
|
- **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
|
- **HTMX Integration**: Dynamic interactions using HTMX for modern UX
|
||||||
- **Enhanced Security**: JWT authentication with theme persistence
|
- **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
|
- **Multiple Folder Support**: Users can configure multiple ebook directories
|
||||||
- **Smart Ebook Scanner**: Automatic discovery and metadata extraction from EPUB files
|
- **Smart Ebook Scanner**: Automatic discovery and metadata extraction from EPUB files
|
||||||
- **Real-Time Monitoring**: File system watching for automatic ebook updates
|
- **Real-Time Monitoring**: File system watching for automatic ebook updates
|
||||||
|
- **Scan Settings**: User-configurable scan frequency and auto-scan options
|
||||||
|
|
||||||
### Frontend Redesign
|
### Frontend Redesign
|
||||||
- **Beautiful Homepage**: Hero section with features showcase and modern design
|
- **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
|
- **Go Templates**: Server-side rendering with template inheritance
|
||||||
- **Tailwind CSS**: Utility-first CSS framework via CDN
|
- **Tailwind CSS**: Utility-first CSS framework via CDN
|
||||||
- **TypeScript Support**: Client-side scripting with TypeScript compilation
|
- **TypeScript Support**: Client-side scripting with TypeScript compilation
|
||||||
- **Database Schema**: Added user_ebook_folders table for multiple folder support
|
- **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 folder management and scanner operations
|
- **API Expansion**: New endpoints for user profile management, folder management, scanner operations, and scan settings
|
||||||
- **Metadata Extraction**: EPUB parsing for rich ebook information
|
- **Metadata Extraction**: EPUB parsing for rich ebook information
|
||||||
- **File System Monitoring**: Real-time folder watching with fsnotify
|
- **File System Monitoring**: Real-time folder watching with fsnotify
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user