Code Monkey home page Code Monkey logo

manga-watcher's Introduction

Manga Watcher

GitHub release GitHub Workflow Status (with event) GitHub License

The inspiration for this project is because I like to read manga through mangapill. The issue with mangapill is that there is no easy way to keep track of specific manga or notifiy the user of new releases.

This app seeks to do that by creating a kind of wrapper, where the user is able to add their own manga on mangapill to the app. To do so, you must click the 'Add Manga' button, provide a name and the url to the manga. The user will be able to quickly navigate to each of their tracked manga. The user will be able to see which chapters they have read. Clicking on that chapter through the app will automaticaly update its read status. Users will also be notified of new chapters if they setup notifications.

This app currently only supports tracking manga on mangapill and any other platforms are not being considered.

Table of Contents

Dependencies

Environmental Variables

The following environmental variables are used with the docker compose file. The defaults given are defined in the Dockerfile.

  • APPDATA_PATH - the appdata path for the web app and mongo container (default: "")

  • MONGODB_USER - the MongoDB user (default: none)

  • MONGODB_PASSWORD - the MongoDB user's password (default: none)

  • MONGODB_DB - the name of the MongoDB database to use (default: "mangawatcher")

  • MONGODB_URI - (optional) for use with a different URI, such as MongoDB Atlas (default: "mongodb+srv://<username>:<password>@<clusterName>.mongodb.net")

The following environmental variables are used for Telegram notifications. They are currently needed as not defining them will lead to untested behavior. Probably a crash.

  • TELEGRAM_BOT_USERNAME - the Telegram bot's username (default: "")
  • TELEGRAM_BOT_TOKEN - the Telegram bot's token (default: "")
  • TELEGRAM_BOT_ID - the Telegram bot's chat id (default: "")

Deployment

Option 1: Docker Compose (recommended)

The recomended form of deployement is to use the provided docker compose file. To do so, use must create a .env file to define the above variables. Then you can deploy it as you would with any other docker compose file.

The compose file has a proxynet network which is used for reverse proxying. This network is defined outside of the compose file.

Option 2: Native

Native deployment is not recommended outside of developement. To do so, you must have Angular and Java 17 JDK installed. At the minimum, the MONGODB_URI will need to be defined as an environmental variable for the server.

Run the client with ng serve.

Run the server with ./mvnw spring-boot:run

Optionaly, you can build the client into the server's files. See Dockerfile.

manga-watcher's People

Contributors

tacticalminky avatar

Watchers

 avatar

manga-watcher's Issues

Backend won't authenticate with Mongo

MongoDB Error: AuthenticationFailed: SCRAM authentication failed, storedKey mismatch

The compose works on my local machine, but not in Portainer on my server

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.