/Holodex

Frontend source code for https://holodex.net

Primary LanguageVueMIT LicenseMIT

Holodex

MIT License Discord Chat Deploy to Prod Crowdin

Reporting a Bug/Feature Request

  • For bugs, please make sure to include a picture describing the issue (if applicable)
  • If the bug is urgent, please send us a message in the Discord server
  • Check out the Project Board for known issues/progress

Setup for Development

git clone git@github.com:RiceCakess/Holodex.git
npm install
# By default the api url points to localhost, change to "https://holodex.net/api/v2" in util/backend.js if working on frontend only
npm run serve

Building

npm run build
# Analyzing build bundle size
npm run analyze-build

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Check out the Project Board for things being planned

Project Structure

├── components              # Vue components
├── locales                 # UI text translations for each languages
├── plugins                 # Vuetify, i18n and other plugin definitions
├── router                  # Router definitions for path and views
├── store                   # Vuex store modules, each file loosley corresponds to each page. All api calls go through here
├── utils                   # Utility functions
├── views                   # Page defintions
└── App.vue                 # Main entry point, sets up router-view

Suggested VSCode Extensions

antfu.i18n-ally
irongeek.vscode-env
jpruliere.env-autocomplete
lukas-tr.materialdesignicons-intellisense
octref.vetur
jcbuisson.vue
dbaeumer.vscode-eslint
intellsmi.comment-translate

Roadmap

  • Watch Page refresh
  • Make repo public
  • Add user logins
    • save favorites to database
    • add video commenting??
  • Add multi language support
    • Use tagging system?? or maybe just have a row indicating language
  • Expand vtuber list
  • Updated tagging system
    • User contributed tagging
    • Tag aliasing
    • Tag categories
  • public API / API key for user account
  • live chat features / TL transcript
  • music player / radio / tagging songs in singing streams