manga-updater is an eventloop-based manga scrapper/updater app
- parse external sites (supports: manga18fx)
- save/load app's state:
- manga_list - list of parsed manga
- monitoring_list - list of observed manga to keep it up-to-date
- download_deque - chapters queued for caching content/images
- task_queue - event-bus (currently there are two possible actions/events: "monitor-manga" and "download-chapter")
- stats calculation
- nextChapterDateEst - date estimation for next chapter
- ...
Server side built on:
- fastapi/uvicorn/asyncio
- beautifulsoap4 (https://www.crummy.com/software/BeautifulSoup/)
- msgspec (de-serialization)
- structlog/rich
Client side built on:
- Vue3 / Vue-router
- Quasar2 (components) / Quasar CLI (uses Vite under-the-hood)
Manga-updater's core is a event-loop based server. Server supports:
- parse external manga page data
- persist parsed data on disk
- download chapter's content as images
- return persisted data via REST API
Manga-updater comes with web-based client in form of SPA. It was built in a hurry (so codebase is a mess with coupled logic), but it solves personal needs.
Deps:
- Python 3.10+
Run server
# Proxy on 7777
# Server on 8000
bash dev.sh
Deps:
- cors-anywhere
- Node LTS 20.x.x or above
- VS Code Extensions (check SETUP.HISTORY.md)
Run client
cd frontend
npx quasar dev
Backend
- Fastapi - MIT
- beautifulsoap4 - MIT
- uvicorn - BSD-3-Clause
- msgspec - BSD-3-Clause
- httpx - BSD-3-Clause
- structlog - Apache-2.0
- rich - MIT
Client
MIT