A minimalistic manga reader for desktop built with React and Django

Overview

smanga

A minimalistic manga reader/server for serving local manga images on desktop browser.
Provides a two-page view layout just as reading a physical copy.

Reader Demo

Requirements

Python(with pip) and Node.js(with npm) installations required.

Directory structure & naming

Following naming scheme is to be followed for all manga to be served:

| 
   
    
    |-- series-name-in-dash-case/
        |-- chapters/
            |-- 0001/
                |-- 001.png
                |-- 002.png
                ...
            |-- 0002/
            ...
        |-- volumes/
            |-- 030/
                |-- 0120/
                    |-- 001.png
                    ...
                ...
            |-- 031/
            ...
    |-- another-series/
    ...

   

Series require their own folder, like one-piece or attack-on-titan in dash-case.
Within each, chapters/, volumes/ or both are to be created.

NOTE: volumes/ needs to have chapter folders; each folder having images pertaining to the chapter

Item No. of characters for naming Naming example
Chapter 4 Chapter 220 ⇒ 0220/
Volume 3 Volume 100 ⇒ 100/
Image 3 Fourth image ⇒ 004.png

Initial Setup

Note that pip and python are pip3 and python3 for Linux

First, clone this repository and navigate into it.
Run the following to install Django dependencies:

pip install -r requirements.txt

Now, run the following to configure manga location:

python configure.py 
   

   

Here, is the absolute directory location where all manga is stored on machine. An optional -s flag may be passed to store chapters in database:

python configure.py -s 
   

   

This is useful for series with longer chapters. By default, only volumes are stored.

Next, run the following to create the database:

python manage.py makemigrations
python manage.py migrate

Finally, navigate into uireader and run the following to build the UI:

npm install
npm run build

The setup is complete.

Usage

Naviage into root of the project and run the following to launch local Django server:

python manage.py runserver

This should launch the server on localhost. Chapters and volumes are accessible through simple navigation.

Reader Interface

Clicking on the middle of screen activates the following menus:

Top Menu

  • Upper Menu

    • Re toggle ⇒ Rearrange/correct image order in the viewer
    • < ⇒ Next chapter/volume
    • #0909 ⇒ Go to chapters/volumes listing
    • > ⇒ Previous chapter/volume
    • Home ⇒ Go to series listing
  • Lower Menu

Bottom Menu Provides slider to quickly move between pages

Keyboard shortcuts

  • ↓ or ← or spacebar ⇒ Next couple of pages
  • ↑ or → ⇒ Previous couple of pages
  • F key ⇒ Toggle fullscreen mode
You might also like...
Django app for handling the server headers required for Cross-Origin Resource Sharing (CORS)

django-cors-headers A Django App that adds Cross-Origin Resource Sharing (CORS) headers to responses. This allows in-browser requests to your Django a

Authentication for Django Rest Framework

Dj-Rest-Auth Drop-in API endpoints for handling authentication securely in Django Rest Framework. Works especially well with SPAs (e.g React, Vue, Ang

Authentication Module for django rest auth

django-rest-knox Authentication Module for django rest auth Knox provides easy to use authentication for Django REST Framework The aim is to allow for

REST implementation of Django authentication system.
REST implementation of Django authentication system.

djoser REST implementation of Django authentication system. djoser library provides a set of Django Rest Framework views to handle basic actions such

Django queries
Django queries

Djaq Djaq - pronounced “Jack” - provides an instant remote API to your Django models data with a powerful query language. No server-side code beyond t

A JSON Web Token authentication plugin for the Django REST Framework.

Simple JWT Abstract Simple JWT is a JSON Web Token authentication plugin for the Django REST Framework. For full documentation, visit django-rest-fram

Transparently use webpack with django

Looking for maintainers This repository is unmaintained as I don't have any free time to dedicate to this effort. If you or your organisation are heav

Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code.
Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code.

drf-yasg - Yet another Swagger generator Generate real Swagger/OpenAPI 2.0 specifications from a Django Rest Framework API. Compatible with Django Res

Integrate GraphQL into your Django project.

Graphene-Django A Django integration for Graphene. 💬 Join the community on Slack Documentation Visit the documentation to get started! Quickstart For

Owner
Padam Upreti
Computer Engineering student who knows a little bit of web development.
Padam Upreti
Django REST API with React BoilerPlate

This is a setup of Authentication and Registration Integrated with React.js inside the Django Templates for web apps

Faisal Nazik 91 Dec 30, 2022
Built on Django Rest Framework, to provide with command execution on linux terminal

Built on Django Rest Framework, to provide with command execution on linux terminal

null 1 Oct 31, 2021
Django Ninja is a web framework for building APIs with Django and Python 3.6+ type hints.

?? Fast, Async-ready, Openapi, type hints based framework for building APIs

Vitaliy Kucheryaviy 3.8k Jan 4, 2023
Country-specific Django helpers, to use in Django Rest Framework

django-rest-localflavor Country-specific serializers fields, to Django Rest Framework Documentation (soon) The full documentation is at https://django

Gilson Filho 19 Aug 30, 2022
A small repository of projects built in my course, REST APIs with Flask and Python.

A small repository of projects built in my course, REST APIs with Flask and Python.

Teclado 1k Jan 5, 2023
Generate Views, Serializers, and Urls for your Django Rest Framework application

DRF Generators Writing APIs can be boring and repetitive work. Don't write another CRUDdy view in Django Rest Framework. With DRF Generators, one simp

Tobin Brown 332 Dec 17, 2022
Django-rest-auth provides a set of REST API endpoints for Authentication and Registration

This app makes it extremely easy to build Django powered SPA's (Single Page App) or Mobile apps exposing all registration and authentication related functionality as CBV's (Class Base View) and REST (JSON)

Tivix 2.4k Dec 29, 2022
A Django api to display items and their current up-to-date prices from different online retailers in one platform.

A Django api to display items and their current up-to-date prices from different online retailers in one platform. Utilizing scrapy to periodically scrape the latest prices from different online retailers. Store in a PostgreSQL database and make available via an API.

Kennedy Ngugi Mwaura 1 Nov 5, 2021
Web APIs for Django. 🎸

Django REST framework Awesome web-browsable Web APIs. Full documentation for the project is available at https://www.django-rest-framework.org/. Fundi

Encode 24.7k Jan 4, 2023