TheUndo / Atsumaru

Open source manga reader for IOS, Android & web
70 stars 14 forks source link

Atsumaru is currently in beta

We're still working on vital components for the reader, follow this repo for updates or join our Discord server.


Atsumaru - Manga Reader

Atsumaru is an open source manga reader application for Android, IOS & the web

Website: atsu.moe

Features

Contributing

Contributions of any kind are welcomed. Feel free to make pull requests with new features, improvements or modification that would benefit the application. Opening relevant issues is also welcomed and appreciated.

For support/discussion visit the Atsumaru Discord server,

Installing for non-development

Prerequisites

Install the following beforehand

Steps

Open your terminal and run the following commands

  1. Clone the repository
    git clone https://github.com/TheUndo/atsumaru.git atsumaru && cd atsumaru
  2. Configure environment

    bash/zsh:

    $ cp .env.prod.example .env

    Windows

    copy .env.prod.example .env
  3. start Atsumaru (this may take a few minutes)

    docker compose up -d

When installed and running open localhost:4000 and view Atsumaru locally! (it may take some time to become fully operational)

Installing for development

All major operating systems are supported GNU/Linux, Windows, Mac OS.

Prerequisites

Install the following beforehand

Steps

Run in your terminal

  1. Clone the repository
    git clone https://github.com/TheUndo/atsumaru.git atsumaru
  2. CD into the project
    cd atsumaru
  3. Make development build
    make dev

Technical details

Role Technology
Database MongoDB
Backend Node.js + TypeScript
Frontend UI React + TypeScript
Frontend bundler Vite (rollup internally)
Router/Reverse proxy NGINX
Cache Redis
Search engine Meilisearch
Containerization Docker compose

Why Docker?

We use Docker to provide seamless support cross platform, for managing multiple micro services written in different languages and for offering great scaling options. Atsumaru uses over 8 different technologies, it's therefore very hard to install everything with the correct version, and make them behave together the same across Linux, Windows and Mac OS. Docker completely solves this issue.

Why TypeScript?

TypeScript is a strictly typed superset of JavaScript, it allows for static type checking at compile time. TypeScript helps greatly in eliminating needless type errors which often occur with vanilla JavaScript. This is very useful for large projects like Atsumaru and ensures your code can be understood by others and their IDEs.

If you want to contribute but you do not know TypeScript, this is likely not an issue. Since TypeScript is incredibly powerful it will infer most types and provide helpful error messages to guide you, as mentioned before, TypeScript is a superset of JavaScript, it uses JavaScript syntax and compiles to JavaScript. If you need help, we're more than happy to provide support in our Discord server.