Skip to content
A digital comic book management application.
Branch: develop
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci [FIX] Added CircleCI configuration for continuous builds. Dec 24, 2018
.github/ISSUE_TEMPLATE Update issue templates Dec 24, 2018
comixed-app [VERSION] Bumped the develop branch to 0.4.9. Jun 30, 2019
comixed-frontend [Issue #447] Comics can be removed from a reading list. Jul 4, 2019
comixed-importer [VERSION] Bumped the develop branch to 0.4.9. Jun 30, 2019
comixed-library [Issue #486] Comic pages are sorted before saving during import. Jul 7, 2019
comixed-rest-api [VERSION] Bumped the develop branch to 0.4.9. Jun 30, 2019
comixed-tasks [Issue #486] Comic pages are sorted before saving during import. Jul 7, 2019
docs [FIX] Added a dependency on Prettier. Apr 20, 2019
images [Issue #119] Added a quick start guide Dec 24, 2018
.gitignore Squashed commit of the following: Jun 23, 2019
.gitlab-ci.yml [FIX] Added JaCoCo dependency to the Java project. Dec 24, 2018
.travis.yml [FIX] Allow deploys of release updates. Jun 23, 2019
ARCHITECTURE.md [FIX] Updated the project name to ComiXed in the documentation. Dec 24, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Dec 24, 2018
CONTRIBUTING.md [Issue #404] Added a note about running lint checks on contributions. Mar 10, 2019
CONTRIBUTORS.md [DOC] Added Alex Engelhardt as a contributor. Dec 24, 2018
DEVELOPERS.md [Issue #196] Added the DEVELOPERS help file. Feb 24, 2019
LICENSE Initial commit Mar 18, 2017
PULL_REQUEST_TEMPLATE.md Create PULL_REQUEST_TEMPLATE.md Dec 24, 2018
QUICKSTART.md [FIX] Updated the project name to ComiXed in the documentation. Dec 24, 2018
README.md [DOC] Added a project roadmap. Jul 4, 2019
RELEASE.md [DOC] Fixed the version to be 0.3.0 Dec 31, 2018
pom.xml [VERSION] Bumped the develop branch to 0.4.9. Jun 30, 2019

README.md

ComiXed

An application for managing digital comics.

Project Roadmap And Vision Statement

The goals for this project are simple. It seeks to be the ultimate management tool for digital comic books.

To achieve this goal, the project will:

  • be portable:
    • it can be hosted on the Mac, Linux or Windows, and
    • it can be used by any web browser.
  • manage a library of digital comic books, including:
    • the archive format of the individual files (CBR, CBZ, CB7),
    • converting files from one format to another between the supported types,
    • adding and removing images that make up the pages of the comic,
    • managing what type a page is (front cover, alternate cover, story, back cover, advertisement, etc.)
    • blacklisting pages based on hash identifiers so that they are ignored, and
    • deleting blacklisted.
    • consolidating the library, including performing any or all of the following steps:
      • moving all files into a well-defined directory structure,
      • converting comics to a single archive type,
      • removing files from each comic that has been blacklisted, and
      • updating the ComicInfo.xml file within each comic with the current metadata.
  • administrators can quickly import new comics into their library.
  • scraping metadata for comics from various sources, such as ComicVine.
  • allow managed access to the contents of the library:
    • administrative users can create/delete other users,
    • users can create reading lists,
    • users can manage their read state for all comics in the library, and
    • users can read comics using an OPDS application.
  • a plugin system allows administrators to customize the features in their application:
    • plugins can be written by third-parties to provide new and custom functionality, and
    • administrators can easily install plugins.

What The Project Will Not Do

  • It is not a comic reading application.

Status

  • TravisCI Build Status: Build Status
  • You can download the latest unsupported release from the Releases tab. Every merge to the Develop branch triggers a new build.

Overview And Goals

ComiXed is designed to be a cross-platform digital comics manager. It will:

  • import your existing and new digital comics
  • organize your comics under a single directory
  • allow you to view and edit the details of the comic
  • search your comic library by comic details
  • identify, and delete, duplicate pages across comics
  • provide access to your library from a variety of applications

Paired with an application that can read your comics (such as Chunky Reader) you will have a very powerful and useful solution for managing and reading your digital comic collection.

Supported Comic Formats

The following digital comic formats are supported:

  • CBZ (ZIP)
  • CBR (RAR)
  • CB7 (7ZIP)

Building The Application

The foloowing sections will describe how to setup your location environment and also how to build the project.

Prerequisites

The application depends on the following pieces:

Setting Up Your Build Environment

Once you've installed the requirements, you need to setup your environment:

  1. Install yarn: npm install -g yarn

Running The Build

The application is composed of several modules:

  • comixed-library: the domain model, persistence layer and archive adaptors,
  • comixed-tasks: the set of worker tasks that run in the backend server
  • comixed-rest-api: the web layer and REST API processors,
  • comixed-frontend: the Angular frontend, and
  • comixed-app: the application, which pulls the previous pieces together in a working application.

To build all of them then execute the following from the project's root directory:

mvn clean package

If the build is successful, then you will have a file in the comixed-app/target directory named something like comixed-app-*.jar. This is the final application artifact and what you will now be able to run.

If, however, you saw any errors, you'll need to go back and verify that you've properly setup your environment.

Running The Application

To start the application from the project root, launch it from the command line with:

$ java -jar comixed-app/target/comixed-app-*.jar

NOTE: As this is still an actively developed project, there's always a chance that your local database has become corrupted. If you experience problems with starting the application, a good first step would be to delete your local database and try running the application again.

The database can be found:

Operating System Location
Windows C:\users[your username].comixed
Linux /home/[your username]/.comixed
MacOS /users/[your username].comixed

Interacting With The Application

To connect to the web application, point a browser to http://localhost:7171/.

You can then log into the application with one of two default accounts:

  1. Administrator username=comixedadmin@localhost password=comixedadmin
  2. Reader username=comixedreader@localhost password=comixedreader

Developing The Front End

If you are working on changes to the frontend, you can launch an instance of the Angular server separately from the backend.

You can launch the backend by moving to the comixed-app module and launching it using the commandline:

mvn spring-boot:run -DskipTests

Then, in the comixed-frontend subdirectory, launch it using the commandline:

$ yarn start

You can nowconnect to the web application from your browser using http://localhost:4200/. And, as your make changes to the Angular code, this frontend will update automatically.

Reading Comics Remotely

You can read comics from your library using any comic reader that supports the OPDS, such as Chunky Reader.

To allow your reader to access the library, you will need either the hostname or IP address for the computer running ComiXed. So, for example, if that computers IP address is 192.168.1.29 then you would tell the reader:

Hostname: http://192.168.1.29:7171/opds
Username: [the username for your login]
Password: [the password for your login]

Please note that some readers (such as Chunky) assume the /opds portion of the URL. SO if your reader does not see a reading list, try removing /opds from the URL.

Then your reader should see, at least, a reading list named All Comics. This list will allow you to read all comics in your library.

Future work will allow for different reading lists to be presented via OPDS. Please stay tuned for those changes to arrive.

Contributing

When working on a feature or fixing a bug, please write and test your code against the develop branch. Then, when it is completed, please send a pull request to have the code imported.

All code should come with unit tests.

If the code is in good shape, then it will be included.

If the code needs some fixes or changes, the developers will provide feedback asking for those changes. Please apply them and resubmit your changes.

And, if this is your first addition to the project, please add your name to the CONTRIBUTORS.md file with your pull request.

Credits

You can’t perform that action at this time.