Giter Site home page Giter Site logo

chouette-admin-chouettos's Introduction

AdminChouettos

AdminChouettos c'est l'outil de gestion des membres et backend du planning de La Chouette Coop construit avec Symfony

Fonction

Adminchouettos est une application symfony qui permet la gestion du LDAP. Les données rentrées dans adminchouettos sont toutes enregistrées dans une base de données. Une partie de ces données sont ensuite transférées dans le LDAP (sous openLDAP), c'est à dire le nom, le mot de passe et le codebarre de l'utilisateur. Le reste des données sont uniquement dans la base de données locale. Adminchouettos offre une methode api pour se connecter au ldap. C'est à dire qu'on envoi les données

Partie gestion des membres


Partie planning


Installation

  • cp .env .env.local
  • Modifier le fichier .env.local avec les paramètres du LDAP, du mailer et de la BDD
  • Install Symfony with Composer (see requirements details).
  • Rajouter un utilisateur en tant qu'admin : mettre la valeur [ROLE_ADMIN] dans le champs role d'un utilisateur dans la base.

Documentation

Description des dossiers et fichiers

  • src/Admin : Contient tous les fichiers de configuration pour avoir l'interface d'administration via le module Sonata Admin

  • src/Controller : LdapController contient tous les services pour administrer le ldap, PlanningController toutes les fonctions pour la partie planning du projet, SecurityController permet l'enregistrement et le changement d'user et des mots de passe.

  • src/Entity : la définition des entity, gérées ensuite par doctrine

  • src/Form : le formulaire d'ajout de nouvel utilisateur

  • src/Repository : pour les requetes en BDD

  • src/Security : Les méthodes d'authentification, par login pour se connecter à la partie administration, par jeton d'api pour le planning et autre.

  • templates : les vues de l'application

Cron a mettre en place

toute les nuits : exportGHCodeBarreAction() notificationReserve() notificationParticipation() compterPiafAttendues() compterPiafEffectuees() generateCreneaux()

Docker

Pour la 1ere exécution, il faut configurer la database :

cp docker-compose.yaml.dev docker-compose.yaml  # Ou docker-compose.yaml.prod
# Pour la production, mettre à jour les variables MARIADB_ROOT_PASSWORD, MARIADB_PASSWORD et SYMFONY_DATABASE_PASSWORD
docker-compose up -d database
docker-compose exec database bash
# Puis dans le docker `database` :
mysql -p  # Enter the $MARIADB_ROOT_PASSWORD
CREATE USER 'adminchouettos'@'symfony' IDENTIFIED BY '...';
GRANT ALL ON adminchouettos.* TO 'adminchouettos'@'symfony';
# Vous pouvez quitter le docker

Pour restaurer un dump :

# put the backup.sql file in ./data
mysql -p adminchouettos < /var/lib/mysql/backup.sql

Si vous voulez importer la db de prod vous devez copier tout le dossier data et non juste le fichier .sql. Maria db n'importe pas les séquences des PK et donc les CREATE ne fonctionne pas.

Une fois que la database est confgurée :

cp .env .env.local
* Modifier le fichier .env.local avec les paramètres du LDAP, du mailer et de la BDD
docker-compose build
docker-compose up -d

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.