Clairvue is a multi-user RSS feed aggregator designed for efficient content organization and seamless reading. With support for private and public collections, configurable feed updates, and scalable synchronization, Clairvue simplifies managing and consuming RSS feeds in collaborative or individual workflows.
- Private and Public Collections: Users can create private feeds and collections, while admins can publish public collections for subscription or cloning.
- Feed Configuration: Customize update frequencies and specify if articles should be read directly in-app.
- URL Article Import: Import web content by URL and detect readable articles automatically.
- Scalable Worker System: Synchronization tasks are offloaded to scalable worker instances, ensuring efficient updates even with large numbers of feeds.
- Built-in Reader: Provides a distraction-free reading mode with dark/light themes and font size adjustments.
- Filters and Search (Planned): Includes chronological and unread filters, with topic detection and advanced queries under development.
- Authentication: Basic authentication implemented, with OAuth planned for future releases.
- Annotations: Add notes and highlights directly within articles.
- Topic Detection: Automatically categorize articles by content themes.
Clairvue uses a monorepo structure to organize its components for modularity and collaboration. The repository is divided into the following packages:
app
: The main application responsible for the frontend and backend logic, including the user interface and API routes.workers
: Handles background tasks such as feed synchronization, caching, and other time-intensive processes.types
: Shared TypeScript definitions used across the monorepo to ensure consistent type safety and reduce duplication.
- SvelteKit: A framework for building web applications
- Shadcn Svelte: UI components for Svelte
- SvelteKit API Routes: For handling backend logic
- PostgreSQL: Relational database for data storage
- BullMQ: For managing queues
- Redis: For caching and queue management
docker-compose up --build
- Clone the repository.
- Navigate to the project directory.
- Install dependencies:
pnpm install
- Start the application:
pnpm run dev:app
- Start the workers:
pnpm run dev:workers
Contributions are welcome! Please open an issue or submit a pull request for any enhancements or bug fixes.
This project is licensed under the MIT License.