$ show rr-/szurubooru
Szurubooru is an image board (booru) web application for uploading, tagging, and discussing media content. It features a client-side single-page application (SPA) built with vanilla JavaScript and a server-side Python backend using SQLAlchemy ORM with a RESTful API. The system uses PostgreSQL for data storage and is deployed via Docker containers. Key architectural concerns include a clean separation between client and server, with the client handling UI interactions and the server managing data persistence and business logic. The application implements common web application patterns such as event-driven client-side components, optimistic locking for concurrent updates, and a modular serialization framework for API responses. While the codebase demonstrates solid engineering practices, it shows signs of technical drift due to reliance on outdated base images (Node.js 14 and Python 3.9) and legacy build tools (browserify/babelify). The project is actively maintained, as evidenced by recent commits and ongoing issue activity.
The LLM identified 2 files worth highlighting for reuse:
Implements a lightweight, standalone EventTarget/pubsub pattern for loose coupling between client-side components. No dependencies on internal modules, making it easily reusable in any web application.
Provides a thread-safe LRU cache implementation with a decorator for caching function results. Zero dependencies on internal szurubooru modules, relying only on standard library, making it suitable for extraction to any Python project.