Code Monkey home page Code Monkey logo

naoka's Introduction


Naoka
Naoka

Enhance Your Anime and Manga Tracking Experience

Discord

Key FeaturesDownloadRelatedLicense

screenshot

Important

Naoka will be rewritten to structure the app in a better way. Go to the rewrite branch to see the current work.

Key Features

  • Nice UI — There's a lot of effort put on making everything look nice.
  • Night mode — Dark mode is enabled by default (light mode will also be available).
  • Offline library — No need for a Wi-Fi connection to update your lists.
  • Lists — Create lists and save your favorite anime/manga into them. You can even add both anime and manga to the same list!
  • Sync your library — Import from and export your library to AniList, MyAnimeList, and Kitsu (more coming soon).

Not supported

  • (#7) Automatic syncing with external sites.
  • (Planned) Notifications when a new episode/chapter is released.
  • (Maybe in the future) Anime streaming and manga reading.
  • (Not planned) Illegal anime streaming.
  • (#171) Linux and macOS versions.
  • (Maybe in the future) See anime/manga information.

Download

You can download the latest installable version of Naoka for Windows, macOS, and Linux (soon).

Related

Taiga — Naoka is inspired in this app, so you probably want to check it out too!

Support

ko-fi

Credits

Nekidev's avatar
Nekidev

naoka's People

Contributors

dependabot[bot] avatar nekidev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

fossabot

naoka's Issues

Send notification when new episode is released

Having this feature would be nice. This could be enabled for individual animes (mangas also maybe?) or for the whole library (maybe also adding filters by library entry status) so that users can get notified when a new episode is released.

Add support for tracking library stats

It'd be nice to locally calculate library stats without depending on an external provider to fetch them.

Stats like:

  • Time spent watching anime
  • Episodes watched
  • Chapters read
  • Volumes read
  • Anime watching day streak
  • Manga reading day streak
  • Milestones

This'd probably also require:

  • Keeping track of library updates
  • Importing logs of library updates if possible

Search lists

It'd be nice to be able to search for a list. When they become too many it's difficult to find them.

Add support for customizable themes

Being able to create custom themes for Naoka would be definetly great. This'd also allow to create a light mode for the app (which was started to be added but it was paused until this was done).

Add support for automatic library syncing with external providers

Maybe automatically updating the library every 15 minutes and once when the app starts?

Status:

  • Add support for library importing and merging
  • Add support for exporting
  • Add autoSync field to ExternalAccount to enable/disable automatic/periodic syncing

Might also need:

  • Create offline DB with mappings

Add multiple scoring methods

5 stars can be kind of restrictive (?) for some users (me included), so maybe adding an option to change this from the settings could be cool.

Some scoring methods I've thought of:

  • 3 faces (sad/neutral/happy)
  • 5 stars (current method)
  • 5 stars, but being able to set half stars (4.5 stars for example)
  • 10 points
  • 100 points

Add "merge" library import type

Instead of directly overriding the library or not updating entries that already exist, we could add a new updatedAt field that saves the most recent library entry (comparing imports and exports).

We could also add a new table to the DB where we store mappings. This way we can compare items from different providers and only keep one of the versions, instead of having both and getting the user to decide which one to keep.

  • Table to store mappings
  • Add updatedAt field to library entries
  • Create "merge" import method

Move `@/utils` into `@/lib`

Both folders are pretty much the same, it makes no sense to have both. @/utils's contents should be moved into @/lib to keep only one folder.

Use route intercepting for modals

Using route intercepting for modals instead of having components added everywhere the modal needs to be open is probably better. It'll also help to have a slightly better architecture.

Manga progress bar doesn't display progress in library

Manga entries in the library don't show the entry's progress in green, although it's correctly displayed in the text displayed when the entry is hovered.

It should probably calculate progress percentage from both chapters and volumes and display the greatest one of both.

Add support for authorizing providers

This'll eventually be required to allow list exporting. Since Tauri doesn't yet support deep linking, a solution would be to create a small web app that shows the code to the user and asks them to copy-paste it into a prompt in the app.

Disable autocomplete in text inputs

All text inputs in the app have autocomplete enabled (it's the browser's default) and it's a bit uncomfortable + makes the app feel less native.

Add an onboarding page

This'd be great for new users to be able to setup the app fastly. Maybe something like chosing the language + app theme, then selcting the default provider and optionally syncing their current external libraries so that they don't have to investigate the whole app to find those things.

Add support for pagination/steps in `FormModal`

Long forms are uncomfortable since you need to scroll and things overflow from the screen. It'd be cool to be able to set steps for the form and that only one step is displayed at a time, and that when the step is completed the form slides to the next step.

Ideas:

  • Discard button on the left, and left and right arrows on the right to navigate through the slides/tabs/pages.
  • Animate the modal resizing (using framer motion).
  • Set tab title (maybe not for the first tab to show the form's title?).

Migrate to Tauri v2

Though it's still in alpha version, Naoka needs lots of Tauri's v2 features and plugins. This is probably the best option even if lots of changes are introduced on each version.

The best example of a plug-in we need is the new deep linking for oauth2. Right now, without that plugin we cannot add support for authentication neither in MyAnimeList nor in AniList.

Convert fields like `status`, `format`, or `genres` to enums in `Media` and `MediaCache`

Having the raw text makes it difficult to translate (see #23). We could add some enums for status and format, and other similar fields. For genres we could create a small object/dictionary mapping most popular genres/tags and translate those (we'd need to convert different spellings of the same genre into their enum value).

This'd also help with consistency of things when changing from provider.

Show media info from selected provider

When a library entry is created, it is linked to a specific media from a specific provider. If the user later changes the selected provider to another one, they'll probably want to see the details from that provider, not the old one.

This can be accomplished using the local mappings DB table (which was actually created for these kind of things).

Add Spanish translation

Basically the title. I can translate the app myself, but this'll require refactoring some things to be able to add support for more languages.

Add setting to select the title format to show

Users should be able to select which title format they want to see, instead of being forced to have the romaji version for everything. This will also require some refactoring to be able to add this feature in MediaCache objects.

Add offline provider

This'd be cool. Maybe creating a small server that stores all anime mappings with basic data that can be directly downloaded by Naoka to store a local DB?

Add support for advanced reviewing

Library entries can only have an overall score and some private notes. It'd be cool to allow more complex reviews with individual scores for audio, visuals, characters, enjoyability, etc., and a rich text editor to write a more detailed review.

Show a confirmation message when library entry is saved

The save button saves the information but doesn't show any confirmation or has any visual effect.

Options are:

  • Showing a checkmark icon on top of it for some seconds
  • Creating a toast message

Other options as sending a notification are probably too much.

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.