Go to file
2023-03-05 16:08:03 +01:00
partitioncloud Automatically add new user (root:root) on init 2023-03-04 19:49:15 +01:00
.gitignore Add config file 2022-08-30 18:18:38 +02:00
default_config.py Add MAX_ONLINE_QUERIES parameter 2022-10-25 18:45:08 +02:00
make.sh Automatically add new user (root:root) on init 2023-03-04 19:49:15 +01:00
README.md Update README.md 2023-03-05 16:08:03 +01:00
requirements.txt Update requirements.txt 2022-10-28 22:30:54 +02:00
wsgi.py Add base code 2022-08-13 23:36:10 +02:00

partitioncloud-server

Serveur web (basé sur Flask) pour gérer sa collection de partitions musicales

Features

Liste non exhaustive

  • recherche de partitions en ligne et ajout à la base de données (par recherche Google)
  • partage d'un album par un lien direct sans nécessité de connexion (en lecture seule)
  • Thème sombre (je ne suis pas satisfait du résultat, mais il est à peu près correct)
  • dashboard administrateur: gestion de tous les albums, partitions et utilisateurs
  • CLI uniquement à des fins de synchronisation. Il serait bon d'ajouter une BDD locale avec les UUIDs des partitions
  • Pas de Javascript

Points à noter

  • Les partitions ajoutées sont accessibles à tous les utilisateurs depuis la recherche même si ils ne sont pas dans un album leur y donnant accès, pour limiter la redondance
  • Il est possible d'entrer des paroles en créant une partition, celles-ci sont utilisées uniquement pour la fonctionalité de recherche pour le moment
  • Les résultats de la recherche web sont téléchargés automatiquement pour en générer un aperçu, donc MAX_ONLINE_QUERIES doît rester raisonnable
  • Le fichier de configuration est utilisé par le script make.sh ainsi que l'interpréteur python

Installation

Installer le serveur

# Clone this repo
git clone https://github.com/partitioncloud/partitioncloud-server.git
cd partitioncloud-server
# Install dependencies
pip install -r requirements.txt
# Create database and folders
./make.sh init

Démarrer le serveur

./make.sh start

Pour démarrer sur un environnement complet (plus que pour du dev/test),
Installer gunicorn puis:

./make.sh prod

Configuration

cp default_config.py instance/config.py

Modifier le fichier de configuration créé dans instance/

Screenshots

Interface principale

Interface principale Mode sombre

Tableau administrateur

Admin dashboard add-user

Recherche en ligne et locale

Les noms des sites webs ont volontairement été supprimés Recherche

TODO

  • Modifier son mot de passe
  • Supprimer un utilisateur
  • Ajouter config:DISABLE_DARK_MODE
  • Ajouter config:DISABLE_REGISTER
  • Ajouter config:ONLINE_SEARCH_BASE_QUERY pour la recherche google, actuellement 'filetype:pdf partition'