/Chocolate

The future of media manager

Primary LanguagePythonOtherNOASSERTION

wakatime GitHub release GitHub stars GitHub watchers License issues - Chocolate

About The Project

Chocolate is an Open Source media manager.
It allows you to manage your media collection and organize it in a way that is easy to use and easy to search.
Pair your popcorn with Chocolate and enjoy your favorite movie!
It's a free software.

This product uses the TMDB API but is not endorsed or certified by TMDB |


Built With

Chocolate is actually made with this technologies:

  • HTML5
  • CSS3
  • Javascript
  • Python
  • Flask

Getting Started

This is what you have to do to get started with Chocolate :

Prerequisites

Installation

For Linux

  • Go to the latest release
  • Download the latest installer named install.sh
  • Place it where you want
  • Run it
  • Enjoy !

For Windows

No installer available, either:

  • Use Docker
  • Install manually
    • So download the source code and install the dependencies (requirements.txt, ffmpeg and winrar (only for cbr files so books))
    • For ffmpeg and winrar, you have to add them to your PATH

For QNAP

For Docker

  • Execute docker pull imprevisible/chocolate
  • Enjoy !

Files organizations

For Movies :

  • Create a directory
  • Put all your movies in (directly the files or in a subfolder)
  • Create a new library and select the directory you created with the specific type
  • It's done

For Shows :

  • Create a directory where you will put all your shows
  • Choose between two ways to organize your shows :
    • One directory per show, with directories for each season, and files for each episode
    • All files in one directory, for all shows, with a good name that can be analyzed
  • Create a new library and select the directory you created with the specific type
  • It's done

For Games :

  • Create a directory
  • Create a directory for each consoles
  • For each directory put games for this console
  • Some consoles need a bios, go to /static/bios/
    • Create a directory named by the console
    • Put in the bios file
  • It's done

For Books :

  • Create a directory
  • Put all your books in with the name that you want
  • It's done

List of supported console :

  • Gameboy
  • Gameboy Color
  • Gameboy Advance
  • Nintendo DS
  • Nintendo 64
  • Nintendo Entertainment System
  • Super Nintendo Entertainment System
  • Sega Master System
  • Sega Mega Drive
  • Sega Saturn
  • Sony Playstation 1 (for .cue and .bin you have to .zip all files) (need a bios)

Start Chocolate

For Linux

  • execute 'chocolate' in your terminal

For Windows

  • Execute app.py

For Docker

/!\ The docker image has some problems, it's not working for now /!\

  • Execute :
    • CMD : docker run -d -v %cd%:/chocolate imprevisible/chocolate
    • Powershell : docker run -d -v ${PWD}:/chocolate imprevisible/chocolate
    • Linux : docker run -d -v $(pwd):/chocolate imprevisible/chocolate

Important Informations

  • The port of Chocolate is 8888.

Usage

screencapture-localhost-8500-2022-08-18-18_03_30 screencapture-localhost-8500-films-2022-08-18-18_04_53

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

TO-DO for Chocolate Server

  • A docker image URGENT
  • Create a plugin system
  • Add the mobile ui of the video player
  • Add Musics
  • Add a watchtogether system
  • Translate in multiple languages
  • Multiple interface
  • Allow custom css
  • Statistics
  • Custom intro
  • Add a system to search for subtitles (By using OpenSubtitles API here )
  • Send issues directly from the website
  • Add watched movies, and series to TRAKT
  • Add support to trakt
  • Use the GPU to encode videos if possible
  • Change season with the buttons
  • Add logs
  • Use arrow keys to change books pages
  • Design a UI for the path selection instead of a string
  • Use two pages for books on horizontal screen
  • Package on chocolatey
  • NFO support
  • Allow support of PosgreSQL/MySQL

Work in progress

  • Detect series intro and skip them
  • Dev a mobile/TV app with chromecasting, and download
  • Add all audio tracks
  • Translate the rescan buttons

Languages to translate

  • AF: Afrikaans
  • SQ: Albanian
  • AM: Amharic
  • AR: Arabic
  • HY: Armenian
  • AZ: Azerbaijani
  • EU: Basque
  • BE: Belarusian
  • BN: Bengali
  • BS: Bosnian
  • BG: Bulgarian
  • CA: Catalan
  • NY: Chichewa
  • CO: Corsican
  • HR: Croatian
  • CS: Czech
  • DA: Danish
  • NL: Dutch
  • EN: English
  • EO: Esperanto
  • ET: Estonian
  • FI: Finnish
  • FR: French
  • FY: Frisian
  • GL: Galician
  • KA: Georgian
  • DE: German
  • EL: Greek
  • GU: Gujarati
  • HT: Haitian Creole
  • HA: Hausa
  • HE: Hebrew
  • HI: Hindi
  • HU: Hungarian
  • IS: Icelandic
  • IG: Igbo
  • ID: Indonesian
  • GA: Irish
  • IT: Italian
  • JA: Japanese
  • JV: Javanese
  • KN: Kannada
  • KK: Kazakh
  • KM: Khmer
  • KO: Korean
  • KU: Kurdish (Kurmanji)
  • LO: Lao
  • LA: Latin
  • LV: Latvian
  • LT: Lithuanian
  • LB: Luxembourgish
  • MK: Macedonian
  • MG: Malagasy
  • MS: Malay
  • ML: Malayalam
  • MT: Maltese
  • ZH: Mandarin
  • MI: Maori
  • MR: Marathi
  • MN: Mongolian
  • NE: Nepali
  • NO: Norwegian
  • PS: Pashto
  • FA: Persian
  • PL: Polish
  • PT: Portuguese
  • PA: Punjabi
  • RO: Romanian
  • RU: Russian
  • SM: Samoan
  • GD: Scots Gaelic
  • SR: Serbian
  • SN: Shona
  • SD: Sindhi
  • SK: Slovak
  • SL: Slovenian
  • SO: Somali
  • ES: Spanish
  • SU: Sundanese
  • SW: Swahili
  • SV: Swedish
  • TG: Tajik
  • TA: Tamil
  • TT: Tatar
  • TE: Telugu
  • TH: Thai
  • TR: Turkish
  • TK: Turkmen
  • UK: Ukrainian
  • UR: Urdu
  • UZ: Uzbek
  • VI: Vietnamese
  • CY: Welsh
  • XH: Xhosa
  • YI: Yiddish
  • YO: Yoruba
  • ZU: Zuluv

Contact

Official Discord Server - https://discord.gg/qbWdzuPhZ4
Project Link: https://github.com/ChocolateApp/Chocolate
Impre'visible#2576 - @romeo_chevrier - impr.visible@gmail.com

Acknowledgments

If you like this project, please consider giving me a star ⭐ to support my work and the futures update of this project. stars - Chocolate

This tool was made by Impre-visible, some features needed the help of several volunteers, that I thank, you can contact them on this server : Dev'Area

Original website design from Mart on figma
A special thanks to Mathias08 who made it possible to release v1 of Chocolate and MONSTA CARDO !! who made the animated logo !

The consoles images are in part from Jude Coram the rest are made by me.

This tool was made with ❤ and ☕ by Impre-visible.

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License