Advanced scraping, mapping, and full-stack anime/manga/light novel application.
Go to file
Eltik 7f23755ec1 feat: More novel extractors 2024-04-28 22:32:25 -07:00
.github fix: Linting CSS tabs 2024-04-11 23:09:51 -07:00
anify-backend feat: More novel extractors 2024-04-28 22:32:25 -07:00
anify-frontend fix: OG image and dropdown 2024-04-12 10:58:00 -07:00
anify-startup update: README.md 2023-12-31 17:29:21 +08:00
.gitignore feat: Schedule is more scalable 2023-10-19 10:52:38 -04:00
README.md update: README.md 2023-12-31 17:29:21 +08:00
package.json updated package json 2024-01-09 21:20:38 -05:00
yarn.lock Add AniDB for content 2023-09-20 14:29:55 -04:00

README.md

Anify

Robust anime, manga, and light novel web-app.

Installation

NOTE: This project utilizes Bun. Please install it before attempting to run Anify.

  1. Clone this repository and cd into the directory.
git clone https://github.com/Eltik/Anify.git
  1. Run bun i. This will install the node_modules dependencies for all sub-repos.
  2. Run bun run lint and bun run build to build all directories.
  3. View each directory's README.MD file for additional installation/requirements.
  4. Run bun start to startup all services using pm2 via the /anify-startup directory. If you wish to individually startup a specific service, you can cd into a directory and run bun start or bun dev.

How it Works

Anify's core components are the backend and frontend. Using custom mappings without the use of external API's such as Simkl and MALSync, the backend maps all types of Japanese media and gathers information before storing the mappings in a database. For creating a full-stack website, the frontend then requests data on the server-side to fetch episodes/chapters and sources/pages from the backend allowing for a smooth and secure experience watching anime and reading manga/light novels. Additionally, there is an authentication server for tracking your favorite shows and series on a preferred website.

Basic Pre-Requisites

Bun

As you may expect, Anify requires NodeJS. However, for performance sake, Anify utilizes Bun for the fastest response times possible.

curl -fsSL https://bun.sh/install | bash

Redis

For caching purposes, Anify uses Redis to store data temporarily (usually for about an hour).

# Prerequisites
sudo apt install lsb-release

# Signing and packages and stuff
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

# Installation
sudo apt-get update
sudo apt-get install redis

# Start
sudo redis-server

# Flushes the database
redis-cli flushall

Conclusion

That's it! For more detailed information on starting up individual sources, take a look at the respected directories.