Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Daniel-C-J/vndb-lite

Repository files navigation

[VNDB Lite]

A lite open-source mobile version of your favorite vndb.org website.

Disclaimer

This project, VNDB Lite, is not an official app advertised by the official website itself. It is simply just a personal project that the developer himself found interesting, and worthwhile expanding his skills and knowledge in mobile development.

Community and support

This is a very new project with a lot of potential to improve. If you'd like to help out, please give it a star 🌟 and share it with the others! You can also jump in and start contributing right away! Just fork the project and suggest any changes you'd like me to consider. That'll be very helpful for a junior self-taught developer like me.

And hey, I'm always open for donation!

ko-fi

Quick Start

Currently, this app only supports for Android. I am unable to test the app for IOS platform, since I don't have any apple device. Contact me if you want to help me testing for IOS platform! :D

Download latest version here.

History

This. is. my. first. app.

  1. I have never touched any real software development before in whole my life.
  2. I have zero knowledge about it (I came from Cybersecurity field) and I don't go to college to learn any of it.
  3. I am still learning, and I love learning non-formally.
  4. Did you know that in 2024 I consumed for at least 2~3 tbsp of coffee a day for around 250± days straight?
  5. Consider donating me so I can feed Kenz (my dog 🐕) :v Kenz died recently just before 2025. One of the worst year ending in my life.

Without any knowledge whatsoever, I took the risk to create one app designed to help people —especially weebs out there— to be able to explore VNDB effortlessly and enjoyably. I'd like to offer them a better UI and UX while maintaining the same functionality as the web itself has. And it is a fact that it is not easy. It is really hard.

If only I thought of a better project... or maybe a better framework... or maybe a better laptop... or maybe a better life...

But what makes me keep pushing through despite of how hard it is, is that I have a stubborn guy inside of me that kept telling me, "Do not to give up" and, "Finish what you've started". Despite of how many life problems I encountered while focusing on this project, I keep going on, and on. Seems like at some point I have become a robot that only work, work, and work. What a life.

June/2024 From around June 2024, I learned flutter, I've never really learned all the fundamentals, just enough for me to feel quite confidence, and then finally take a courage to move forward to type flutter create in my commandline.
August/2024 Around August, I've finally finished the app with all the limited features I could think of. Not surprisingly, after installing the app in my old ancient Oppo android phone, it only takes several minutes for my phone to have a fever, insane lag, bad UI, and obviously bad UX, even when testing with other phones. At that time I thought, "Hey, the world is already advanced! So maybe I don't really need to pay attention about runtime and stuff like that right? Because google said the programming language is fast!". Regret +1
Sept/2024 Learning more about runtimes. Finally realized how dumb I was. Then I restructured the code, and trying to find those lines of code that causes the lag, which took me quite a long time since I wasn't really sure whom did what... Dude, I need better comments and variable names. Regret +1
Oct/2024 I forgot what date exactly, I don't really count on dates, the moment I focused onto something, I really stopped thinking about things other than that something, there's a high tendency of that to be happen. At that time, I focused myself to learn about clean code, best practices, and effective design. I reworked the app again. Yet, it's still ugly. I'm not satisfied... Maybe I need to learn more about state management which the topic I skipped for months...? Regret +1
Nov/2024 Finally learned about clean architecture, state management, error handling, and other stuff such as a little bit of github (Yes I'm total beginner). Then again, restructured the whole app structure once again... Cool. Can you imagine how hard it is being someone with zero experience, and no guidance in the software/mobile development field? I have to re-code the app for 4 times in total. Yet, giving up is never an option.
Dec/2024 Learned more about github, still not a master. But I finally, at last, reached the publishing stage of the app. Lots of experience, and lots of pain. But hey, thankGod I survived.

It was all for fun at first... Yet many times, I am feeling that maybe I should give up, and work on something else that is more... You know? More towards the society, not for weebs like this?! But, again, the stubborn guy inside me, won't let me be. Maybe that's because being a weeb is simply just one underrated persona in the society, so providing them one app for the ease of use for their hobby could be meaningful for them. Meaningful for a small part of the society.

No matter how much I want to complain, reality is reality, I spent almost half a year just to develop this app. It is tiring, and I am dumb enough not to rest, nor move my body to stop the pain. But that's the price of being stubborn.

Overall, I should say, that I am quite proud of myself not giving up in the first month. I love learning. I learned a lot from developing, and I will see this as a stepping stone to reach a higher level in the field so that in the end, I could make more money to feed my family. It is quite a long journey. But again, giving up is never an option. I will continue learning, learning, and keep learning! ...But first I need a vacation.

Thus, the history of this app, and my little journey in the mobile development field.

About VNDB

It is a website that houses a large public database of Visual Novels, hence the name stands for Visual Novel DataBase (VNDB). You can learn more about the website itself here.

About VNDB Lite

Do read the disclaimer above first please.

This app is still in development, and is heavily inspired by Tachiyomi (A digital comic reading app), someone from reddit which I forgot, and a picture I found from the internet which looks really cool! That picture gave me a lot of inspiration. I tried to make one like that, but I ended up having a lite version and a sleep apnea instead.

If you ever use Tachiyomi or similar app, then I assure you can adapt fast with this app's UI.

VNDB Lite is currently released for Android only, and it only supports Android 5.0+.

Unfortunately and currently, I don't have any IOS device to neither build nor even test the app. But as the framework (Flutter) itself supports cross-platform, you can build yourself the app from the source code for your own specific platform, and then test it.

Main Features

As the name stated: Lite, this app does not cover the entire feature you might found in the original website itself, though, some of the fundamentals are covered in this app.

Here are the features:

  1. Up to 11 VNDB official themes

  2. Previews of VNs (Based on latest user collection, and Top-bys)
    preview.webm

  3. Advanced search
    adv_search.webm

  4. Easy to save vn selection and multiselection

  5. VNDB latest statistics chart (I know it's ugly, but at least it can spin)

  6. Local collection

  7. VNDB account synchronization

  8. Offline mode (Once entering vn detail screen)

  9. Double-click to censor/uncensor cover 👀

  10. (งツ)ว And many more...!

Warning

VNDB Lite Synchronization does not support the following:

  1. Custom status other than the built-in ones, such as: playing, finished, stalled, dropped, wishlist, and blacklist. Other than that will be considered invalid and will not be synchronized.
  2. A VN item which has multiple status on it, such as: playing, and dropped in a single item, that is not fully valid. Synchronization with VNDB Lite will only take one from the two. But any of the built-in status with voted is valid.
  3. Saving the changes made from the cloud to the local once successfully synchronized. VNDB Lite's synchronization is local-oriented, so once user synchronized, any change from the cloud, such as editing an already existing item, will not be tolerated, and will be overrided instead by the local existing ones instead the moment user synchronizing again. The same thing happens when deleting an item from the cloud, once synchronizing again, if the item still exists in local, then it will go back to the cloud (in a form of a backup). The only thing that local tolerated with cloud changes, is that adding a new item from the cloud, and that will be saved in the local.
  4. The ability to immediately synchronize lot of vns (probably 60+) at once in a single synchronization. There are times when your cloud vns are not fully synchronized in the local collection after the first time synchronization, especially if you've lots of vns in your vndb collection. Make sure that after a short delay, try to synchronize again until it fully indexing all of your cloud vns in the local collection.

Consider changing your collection via vndb.org first to make sure that all of your VNs are valid when synchronizing using this app.

Dev note:

  • No, there will be no localizations. – =͟͟͞͞ =͟͟͞͞ ヘ( ´Д`)ノ I can engrish

Install

Please head to the release section to find the latest version of the app.

Build

Make sure you have flutter framework v3.4.5+ installed.

  1. Clone this repository git clone https://github.com/Daniel-C-J/vndb-lite.git
  2. Open your terminal and cd to the root path of the repository
  3. Type flutter build --help then head down to the Available subcommands: section, you'll be able to found the platform specific options to build the app. If you want to just build for android then simply type flutter build apk.
  4. The output path is usually in ./build, for android specifically it is in ./build/app/outputs/flutter-apk/ alongside with the sha-1 hash.
  5. And you're done! Congrats 🎉!

License

Apache-2.0