Skip to content
This repository was archived by the owner on Dec 9, 2024. It is now read-only.

Releases: EDM115-org/Senescalade

v1.0.2 : Améliorations du code, correction de bugs et mise à jour de dépendances

05 Oct 13:22
52739dc

Choose a tag to compare

v1.0.2 : Améliorations du code, correction de bugs et mise à jour de dépendances

  • Mise à jour des dépendances vers les dernières versions
  • Polices d'écritures de secours au cas où celle voulue n'est pas encore chargée/disponible
  • Suppression des attributs iframe dépréciés
  • Simplification de la complexité de certaines fonctions
  • Amélioration de la compatibilité avec les systèmes d'accessibilité
  • Préparation vers Nuxt 4 :
    • Changement des dossiers d'i18n
    • Ajout d'une compatibilityDate
    • Suppression des sourcemaps
    • Utilisation d'un cache de build
    • Les NuxtLink sont préchargés au survol de la souris/au clic pour une expérience plus fluide et avec moins de chargements
  • Suppression des warnings de Vite
  • Toutes les fonctions retournent les mêmes types
  • Import minifié des icônes MDI

Mise à jour : docker pull edm115/senescalade:v1.0.2


What's Changed

  • chore(dependencies): update node.js to v20.16.0 by @renovate in #261
  • fix(dependencies): update dependency vue to v3.4.34 by @renovate in #260
  • chore(dependencies): update dependency @pinia/nuxt to v0.5.2 by @renovate in #262
  • chore(dependencies): update dependency pinia to v2.2.0 by @renovate in #263
  • chore(dependencies): update dependency eslint to v9.8.0 by @renovate in #265
  • chore(dependencies): update dependency @nuxtjs/i18n to v8.3.2 by @renovate in #266
  • fix(dependencies): update dependency mysql2 to v3.11.0 by @renovate in #267
  • chore(dependencies): update dependency @stylistic/eslint-plugin to v2.4.0 by @renovate in #268
  • chore(dependencies): update dependency @nuxt/eslint to v0.4.0 by @renovate in #269
  • chore(dependencies): update dependency @nuxtjs/i18n to v8.3.3 by @renovate in #270
  • fix(dependencies): update dependency vue to v3.4.35 by @renovate in #272
  • fix(dependencies): update dependency vuetify to v3.6.14 by @renovate in #273
  • fix(dependencies): update dependency vue-router to v4.4.1 by @renovate in #274
  • fix(dependencies): update dependency vue-router to v4.4.2 by @renovate in #276
  • chore(dependencies): update dependency vite-plugin-vuetify to v2.0.4 by @renovate in #277
  • chore(dependencies): update dependency @nuxt/eslint to v0.5.0 by @renovate in #279
  • chore(dependencies): update dependency @pinia/nuxt to v0.5.3 by @renovate in #280
  • chore(dependencies): update dependency pinia to v2.2.1 by @renovate in #281
  • fix(dependencies): update dependency vue-router to v4.4.3 by @renovate in #283
  • fix(dependencies): update dependency vue to v3.4.36 by @renovate in #282
  • chore(dependencies): update dependency @stylistic/eslint-plugin to v2.6.1 by @renovate in #275
  • chore(dependencies): update dependency sass-loader to v16 by @renovate in #264
  • fix(dependencies): update dependency vue to v3.4.37 by @renovate in #284
  • chore(dependencies): update dependency @stylistic/eslint-plugin to v2.6.2 by @renovate in #285
  • chore(dependencies): update dependency eslint to v9.9.0 by @renovate in #286
  • fix(dependencies): update dependency vue to v3.4.38 by @renovate in #287
  • fix(dependencies): update dependency vuetify to v3.6.15 by @renovate in #288
  • fix(dependencies): update dependency vuetify to v3.7.0 by @renovate in #289
  • chore(dependencies): update dependency @stylistic/eslint-plugin to v2.6.3 by @renovate in #290
  • chore(dependencies): update dependency pinia to v2.2.2 by @renovate in #291
  • chore(dependencies): update dependency @stylistic/eslint-plugin to v2.6.4 by @renovate in #293
  • chore(dependencies): update dependency @nuxt/eslint to v0.5.1 by @renovate in #295
  • chore(dependencies): update dependency sass-loader to v16.0.1 by @renovate in #296
  • chore(dependencies): update dependency @nuxt/devtools to v1.3.14 by @renovate in #297
  • chore(dependencies): update dependency @pinia/nuxt to v0.5.4 by @renovate in #298
  • chore(dependencies): update node docker tag to v20.17.0 by @renovate in #299
  • chore(dependencies): update dependency @nuxt/eslint to v0.5.2 by @renovate in #300
  • chore(dependencies): update dependency eslint to v9.9.1 by @renovate in #302
  • [dependabot/npm] (deps): Bump micromatch from 4.0.7 to 4.0.8 in the npm_and_yarn group by @dependabot in #303
  • chore(dependencies): update dependency @nuxt/devtools to v1.4.0 by @renovate in #306
  • chore(dependencies): update dependency @nuxt/devtools to v1.4.1 by @renovate in #307
  • chore(dependencies): update dependency @nuxt/eslint to v0.5.3 by @renovate in #308
  • fix(dependencies): update dependency vuetify to v3.7.1 by @renovate in #309
  • chore(dependencies): update dependency @stylistic/eslint-plugin to v2.6.5 by @renovate in #310
  • chore(dependencies): update dependency @nuxt/eslint to v0.5.4 by @renovate in #311
  • chore(dependencies): update dependency @stylistic/eslint-plugin to v2.7.1 by @renovate in #312
  • chore(dependencies): update dependency @stylistic/eslint-plugin to v2.7.2 by @renovate in #313
  • chore(dependencies): update dependency @nuxt/eslint to v0.5.5 by @renovate in #314
  • chore(dependencies): update dependency eslint-plugin-vue to v9.28.0 by @renovate in #315
  • fix(dependencies): update dependency vue to v3.5.0 by @renovate in #316
  • fix(dependencies): update dependency nodemailer to v6.9.15 by @renovate in #317
  • chore(dependencies): update dependency sass-embedded to v1.78.0 by @renovate in #318
  • chore(dependencies): update dependency nuxt to v3.13.1 by @renovate in #319
  • fix(dependencies): update dependency vue to v3.5.1 by @renovate in #320
  • chore(dependencies): update dependency @nuxtjs/i18n to v8.5.2 by [@renovate](https:/...
Read more

v1.0.1 : Correction de bugs et mise à jour de dépendances

20 Jul 13:20
b65fbdc

Choose a tag to compare

v1.0.1 : Correction de bugs et mise à jour de dépendances

  • Mise à jour des dépendances vers les dernières versions
  • Nouveaux scripts NPM : installation verbeuse (npm run i-verbose) et utilisation de nuxi cleanup pour le build et analyze
  • Notice pour JWT_SECRET dans le Readme
  • Derniers changements de Tab-Magiques vers Senescalade (package.json)
  • Correction du bug #253, le calendrier n'affichait pas de valeurs (la date de naissance n'était pas passée correctement durant sa modification). Corrigé en forçant une update des composants en redimensionnant la page (zoom - puis zoom +)
  • Correction de l'affichage du v-date-input lié à la mise à jour de Vuetify vers la version 3.6.13

Mise à jour : docker pull edm115/senescalade:v1.0.1


What's Changed

  • fix(dependencies): update dependency vue to v3.4.30 by @renovate in #226
  • chore(dependencies): update node.js to v20.15.0 by @renovate in #227
  • chore(dependencies): update dependency @stylistic/eslint-plugin to v2.3.0 by @renovate in #228
  • chore(dependencies): update dependency @nuxt/devtools to v1.3.7 by @renovate in #229
  • fix(dependencies): update dependency vue to v3.4.31 by @renovate in #230
  • chore(dependencies): update dependency eslint to v9.6.0 by @renovate in #231
  • fix(dependencies): update dependency mysql2 to v3.10.2 by @renovate in #232
  • chore(dependencies): update dependency eslint-plugin-vue to v9.27.0 by @renovate in #233
  • chore(dependencies): update dependency @nuxt/devtools to v1.3.9 by @renovate in #234
  • fix(dependencies): update dependency vuetify to v3.6.11 by @renovate in #238
  • chore(dependencies): update dependency rimraf to v6 by @renovate in #242
  • chore(dependencies): update node.js to v20.15.1 by @renovate in #243
  • fix(dependencies): update dependency vuetify to v3.6.12 by @renovate in #244
  • chore(dependencies): update dependency sass to v1.77.7 by @renovate in #245
  • chore(dependencies): update dependency eslint to v9.7.0 by @renovate in #248
  • fix(dependencies): update fullcalendar monorepo to v6.1.15 by @renovate in #249
  • fix(dependencies): update dependency mysql2 to v3.10.3 by @renovate in #252
  • fix(dependencies): update dependency vuetify to v3.6.13 by @renovate in #254
  • fix(dependencies): update dependency vue to v3.4.32 by @renovate in #255

Full Changelog : v1...v1.0.1

v1.0.0 : Release officielle

22 Jun 12:13
b3a0c24

Choose a tag to compare

Senescalade

Senescalade

Une application web en Nuxt pour les inscriptions de l'association Senescalade

GitHub last commit GitHub branch status GitHub repo size GitHub language count GitHub top language
GitHub Created At GitHub License GitHub Repo stars
Docker Pulls Docker Image Size Docker Image Version
DeepSource

Présentation

Senescalade est une application web permettant aux membres de l'association Senescalade de s'inscrire en début d'année. Les nouveaux membres peuvent créer un compte et inscrire les grimpeurs, tandis que les membres déjà inscrits peuvent se connecter et se réinscrire facilement.
L'application est développée en Nuxt.js, un framework basé sur Vue.js, utilise Vuetify pour le style et Pinia pour le store, et utilise une base de données MySQL pour stocker les informations des membres et des événements. Chaque mot de passe est chiffré avec bcrypt, et les emails sont envoyés via Nodemailer.
L'application est également disponible en tant qu'image Docker sur Docker Hub : https://hub.docker.com/r/edm115/senescalade.
Une interface d'administration est également disponible pour les administrateurs de l'association, permettant de visualiser les inscriptions, les membres, les séances, planifier les réinscriptions, ...

Fonctionnalités

Côté utilisateur

  • Inscription
  • Connexion
  • Ajout de grimpeurs
  • Inscription aux séances
  • Réinscription semi-automatique
  • Mise en file d'attente pour les séances pleines
  • Réininialisation du mot de passe
  • Vérification du compte
  • Changement de thème (clair/sombre)
  • Possibilité de rester connecté 30 jours au lieu de 24h

Côté administrateur

  • Dashboard pour visualiser en un coup d'oeil l'état global de la base de données
  • Visualisation/suppression des membres
  • Visualisation/modification/suppression des séances + export en PDF d'une liste d'appel
  • Visualisation/modification/suppression des inscriptions
  • Ajout/suppression d'admins avec gestion des droits
  • Gestion des réinscriptions
  • Modification du mot de passe

Déploiement

Prérequis :

  • Node.js 20 (LTS), à installer avec nvm install lts/iron && nvm use lts/iron si besoin
  • Docker
  • Docker Compose
git clone https://github.com/EDM115-org/Senescalade.git && cd Senescalade
npm run i

Créez 2 fichiers contenant les variables d'environnement à la racine du projet :

  • .env pour le développement
DB_HOST=localhost
DB_USER=sae
DB_PASSWORD="UserPassword"
DB_NAME=sae
DB_PORT=3306
DEV_PORT=8000
GMAIL_USER="adresse-email@gmail.com"
GMAIL_PASS="abcd efgh ijkl mnop"
MYSQL_ROOT_PASSWORD="SomethingStrong"
PORT=56860
  • .prod.env pour la production
DB_HOST=db
DB_USER=sae
DB_PASSWORD="UserPassword"
DB_NAME=sae
DB_PORT=3306
DEV_PORT=56860
GMAIL_USER="adresse-email@gmail.com"
GMAIL_PASS="abcd efgh ijkl mnop"
MYSQL_ROOT_PASSWORD="SomethingStrong"
PORT=56860

GMAIL_PASS : Mot de passe d'application spécifique, voir https://nodemailer.com/usage/using-gmail/ et https://support.google.com/accounts/answer/185833

npm run docker-start

Accessible à http://localhost/ (port 80 en prod, modifiable dans le docker-compose.yml)

Caution

MySQL est lent à démarrer. Normalement la webapp est sensée attendre que le service MySQL démarre, mais si ce n'est pas le cas, utilisez les commandes suivantes :

docker compose logs  # vérifiez la mention "[Note] [Entrypoint]: MySQL init process done. Ready for start up."
npm run docker-restart

Pour arrêter :

npm run docker-stop

Développement

Prérequis :

  • Les prérequis de déploiement plus :
  • MySQL 8.0 (~8.0.37)

Première installation

  • Windows
\sql
\connect root@localhost
\source "C:\Path\To\Senescalade\db\create_user.sql"
\source "C:\Path\To\Senescalade\db\create_db.sql"
\source "C:\Path\To\Senescalade\db\instantiate_db.sql"
\source "C:\Path\To\Senescalade\db\insert_test.sql"
  • Linux
mysql -u root -p < /path/to/Senescalade/db/create_user.sql
mysql -u root -p < /path/to/Senescalade/db/create_db.sql
mysql -u root -p < /path/to/Senescalade/db/instantiate_db.sql
mysql -u root -p < /path/to/Senescalade/db/insert_test.sql

Puis dans un terminal

npm run i
npm run dev

Accessible à http://localhost:8000/

Structure du code

.
├── .github/ : Fichiers de configuration GitHub
├── .vscode/ : Extensions recommandées et paramètres pour VSCode
├── assets/ : Contient le style css et un outil pour la traduction de messages d'erreur
├── components/ : Composants de l'application Nuxt (formulaires, barres de navigation, modals, ...)
├── db/ : Fichiers SQL pour la création de la base de données
├── layouts/ : Layouts de l'application Nuxt (défaut et admin)
├── locales/ : Traductions des messages d'erreur
├── Organisation/ : Les rendus de la SAE
├── pages/ : Pages de l'application Nuxt
│   ├── admin/
│   │   ├── dashboard/ : Dashboard de l'admin
│   │   ├── gestion-admin/ : Page de gestion des admins
│   │   ├── gestion-grimpeurs/ : Page de gestion des grimpeurs
│   │   ├── gestion-seances/ : Page de gestion des séances
│   │   ├── gestion-utilisateur/ : Page de gestion des utilisateurs
│   │   ├── profil/:  Modification du mot de passe
│   │   └── reinscription/ : Page de gestion des réinscriptions
│   ├── login/ : Pages de connexion, de vérification de mail et d'oubli de mot de passe
│   ├── register/ : Pages d'inscription et de réinscription
│   ├── seances/ : Pages de visualisation des séances
│   ├── user/ : Pages pour les utilisateurs connectés (profil, ajout de grimpeurs, réinscription, finir l'inscription après une file d'attente, voir ses grimpeurs, ...)
│   └── index.vue : Page d'accueil
├── plugins/ : Plugins de l'application Nuxt (Vuetify, Pinia)
├── public/ : Fichiers statiques (images, robots.txt)
├── server/ : Serveur Nitro avec H3
│   ├── api/ : API REST pour les requêtes à la base de données
│   │   ├── add.js : Requêtes INSERT
│   │   ├── count.js : Requêtes COUNT
│   │   ├── db.js : Gestion des pools de connexions MySQL
│   │   ├── delete.js : Requêtes DELETE
│   │   ├── fetch.js : Requêtes SELECT
│   │   ├── forgotPassword.js : Requêtes pour l'oubli de mot de passe
│   │   ├── login.js : Requêtes pour la connexion
│   │   ├── mailVerify.js : Requêtes pour la vérification de mail
│   │   ├── notifySeance.js : Requêtes pour notifier les utilisateurs qu'une place s'est libérée dans une séance
│   │   ├── register.js : Requêtes pour l'inscription
│   │   ├── reinscription.js : Requêtes pour la réinscription
│   │   └─── update.js : Requêtes UPDATE
│   └── middleware/ : Middleware pour la vérification des tokens
├── store/ : Store de l'application Nuxt (Pinia)
├── docker-compose.yml : Fichier de configuration Docker Compose
├── Dockerfile : Fichier de configuration Docker
├── error.vue : Page d'erreur (renvoie à la page d'accueil)
├── nuxt.config.js : Configuration de l'application Nuxt
├── package.json : Fichier de configuration NPM
├── start.sh : Script de démarrage de l'application pour Docker
└── wait-for-it.sh : Script pour attendre que MySQL démarre, [source](https://github.com/vishnubob/wait-for-it)

Build du Dockerfile

  • Build
docker build -t edm115/senescalade .
docker run -d --env-file ./.env -p 80:56860 --name senescalade edm115/senescalade
  • Run
docker start senescalade
  • Publish
docker tag edm115/senescalade edm115/senescalade:latest
docker push edm115/senescalade:latest

Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus d'informations.


What's Changed

  • Configure Mend Bolt for GitHub by @mend-bolt-for-github in #1
  • Create tech stack docs (techstack.yml and techstack.md) by @stack-file in #2
  • Configure Renovate by @renovate in #3
  • [dependabot/pip] (deps): Bump django from 4.2.6 to 4.2.7 in /Code/senescalade by @dependabot in #7
  • [dependabot/pip] (deps): Bump elasticsearch-dsl from 8.9.0 to 8.11.0 in /Code/senescalade by @dependabot in #8
  • chore(deps): update dependency celery to v5.3.5 by @renovate in #5
  • [dependabot/pip] (deps): Bump djoser from 2.2.0 to 2.2.2 in /Code/senescalade by @dependabot in #9
  • [dependabot/pip] (deps): Bump rcssmin from 1.1.1 to 1.1.2 in /Code/senescalade by @dependabot ...
Read more