/Chocolate

The future of media manager

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

wakatime PyPI version GitHub release GitHub stars GitHub watchers License issues - Chocolate

Thanks everyone for the support, I'm still working on Chocolate, way less due to my studies, but I'm still here !
I'm currently working on the 7.2.0 version, which will include the docker image, for all the GPU/CPU users.
I have a lot of ideas for the future, I'm looking at how to make a plugin system, and a watchtogether system, and I'm working on an intro detection system.

About The Project

Chocolate is a free and 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 Windows/Linux/Mac

  • Make sure you have at least python 3.10 and pip installed
  • Execute pip install chocolate_app
  • To run chocolate, simply execute python -m chocolate_app or python3 -m chocolate_app

For QNAP

For Docker

  • WIP (Release soon)

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
  • Allow library fusion (for example, if you have two libraries for movies, you can merge them, so only one library will be displayed)
  • Create a plugin system
  • Add the mobile ui of the video player
  • Add a watchtogether system
  • 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
  • Design a UI for the path selection instead of a string
  • Use two pages for books on horizontal screen
  • 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

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 GNU GENERAL PUBLIC LICENSE