The Essential Aggregator Library — a self-hosted media tracker for books, movies, and anime.
Built with Laravel 12, Livewire 3, and Tailwind CSS. Uses SQLite by default.
- Track books, movies, and anime with status, ratings, dates, and notes
- Import from Goodreads (CSV), IMDb (CSV), and MyAnimeList (XML export / username)
- Fetch metadata and covers from OpenLibrary, TMDB, and Jikan (MAL)
- Gallery and list views with search, filtering, and sorting
- Reading queue for books
- Two themes out of the box (light and Gruvbox Dark)
- Single-user, per-account data isolation via policies
Requires PHP 8.2+, Composer, Node.js, and npm.
git clone https://github.com/dotMavriQ/teal.git
cd teal
composer setupcomposer setup handles dependency installation, .env creation, key generation, migrations, and asset building.
To start a dev server with queue worker, log tailing, and Vite:
composer devOr just the basics:
php artisan serveRegister an account at /register and you're in.
Movie metadata uses TMDB. If you want it, grab an API key from themoviedb.org and add it to .env:
TMDB_API_KEY=your_key
TMDB_ACCESS_TOKEN=your_token
Book metadata (OpenLibrary) and anime metadata (Jikan/MAL) work without API keys.
MIT