Architecture
Architecture
Diagram
graph TD
U[User / Browser]
U -->|HTTPS| FE[Frontend<br/>Cloudflare Pages<br/>manga-db.org]
FE -->|API Requests| API[Backend API<br/>Node.js<br/>api.manga-db.org]
FE -->|Media Requests| CDN[CDN Service<br/>Node.js<br/>cdn.manga-db.org]
FE -->|IO Operations| IO[IO Service<br/>Node.js<br/>io.manga-db.org]
API -->|Cache Busting| CDN
Technology Stack Overview
This section describes the main technologies used across the system and how they relate to each component.
Frontend
The frontend is built using Nuxt and runs on Cloudflare Pages.
- Framework: Nuxt
4.1.1 - Server Engine: Nitro
2.12.5 - Role:
- Renders the user-facing application
- Communicates with backend services over HTTPS
- Requests media and assets from the CDN service
Backend Services
All backend services are implemented as Node.js applications.
- Runtime: Node.js
16.5.0 - Services include:
- Backend API (
api.manga-db.org) - CDN service (
cdn.manga-db.org) - IO service (
io.manga-db.org)
- Backend API (
Responsibilities:
- Handle business logic and request orchestration
- Serve and manage media assets
- Perform file and I/O-related operations
Database
The system uses MariaDB as its relational database.
- Database Engine: MariaDB
10.4 - Usage:
- Stores application data and metadata
- Accessed primarily by the backend API
Technology Relationships
- The Nuxt frontend communicates with backend Node.js services via HTTPS.
- Node.js services interact with the MariaDB database for persistent storage.
- Media and file operations are handled through dedicated backend services to keep concerns separated.
This separation of technologies and responsibilities helps keep the system modular, scalable, and easier to maintain.