Atsumaru is currently in alpha pre-release
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 & Web
Features
- Advanced, fully customizable reader
- Offline mode
- Anilist.co integration
- Multiple sources
- Community driven
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 development
All modern operating systems are supported GNU/Linux, Windows, Mac OS.
Prerequisites
Install the following beforehand
Steps
Run in your terminal
- Clone the repository
git clone https://github.com/TheUndo/atsumaru.git
-
cd atsumaru
- Build and start the backend. Omit
-d
if you want to use another terminal for frontenddocker-compose up -d
-
cd frontend
- Start frontend
npm i && npm run dev
After all containers are built open http://localhost:3000 to view the development app.
Technical details
Role | Technology |
---|---|
Database | MongoDB |
Backend | Node.js + TypeScript |
Frontend UI | React + TypeScript |
Frontend bundler | Vite |
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 compilation time. It 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.