Skip to content

cegepst/code-wars

Repository files navigation

Maintainability Test Coverage StyleCI

Code Wars

Introduction

Code Wars est une plateforme de remise d'exercice de programmation pour les élèves faisant partie du cours de "Programmation Orientée-Objets 1". Dans la thématique Star-Wars, les élèves s'affrontent les Rebelles contre Les Sith pour obtenir le plus haut score. En accomplissant des exercices; vous obtenez des points avec lesquels vous pouvez acheter des objets dans le marché qui donne des bonus en classe.

Installation

Avant de faire toute configuration, assurez-vous d'avoir une machine Approprié pour intégrer le projet. Vous devriez au moins avoir :

  • Apache
  • PostgresSQL

Pour plus d'informations sur l'installation d'un LAMP, veuillez vous référer à ce Gist ;

https://gist.github.com/dadajuice/a10b953b7c01db11f0c6d498f1dcc8ed

Intégration

1 - Cloner le repo

sudo -u www-data git clone https://github.com/cegepst/code-wars.git

2 - Installer les dépendances

cd code-wars
sudo -u www-data composer install

Gestion de version

1 - Vérifier les dernier changement

sudo -u www-data git fetch

2 - Checkout à la dernière version

sudo -u www-data git checkout tags/<Derniere version>

VHost

Pour faire le lien avec le dossier, il faut ajouter un virtual host. Pout changé votre fichier VHost, veuillez enlever le Virtual Host de base et en ajoutant le VirtualHost dessous au fichier suivant avec l'éditeur de texte de votre choix (Nano pour les faibles).

-> /etc/apache2/sites-enabled/000-default.conf

Si vous avez suivi le Gist, le fichier VHost est dans votre répertoire "Home" de base.

<VirtualHost *:80>
	ServerName <Votre URL>

	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/code-wars/public
	<Directory /var/www>
		AllowOverride All
		Require all granted
	</Directory>

	SetEnv PASSWORD_PEPPER "aPHOl9397AJuHOts7ZOj4DUMK4rC9+LuxopfSiKrvLw="

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Après avoir terminé cette configuration, vous devez redemmarer Apache.

sudo systemctl restart apache2

Création de la base de donnée

Pour populer la base de donnée, commencez par créer vos utilisateurs de base avec le CLI de PostgresSQL.

sudo -u postgres psql

postgres=# CREATE ROLE <USER> WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD '<PASS>';
postgres=# CREATE ROLE <USER_APP> WITH LOGIN ENCRYPTED PASSWORD '<PASS_APP>';
postgres=# \q

Ensuite créez votre base de donnée via la ligne de commande traditionelle.

createdb codewars

Après, donnez les droits à votre utilisateur de base de donnée.

sudo -u postgres psql
postgres=# grant all privileges on database codewars to <USER_APP>;
postgres=# \q

Finalement, importez les données des scripts SQL.

sudo -u postgres psql
postgres=# \c codewars
codewars=# \i \home\<User Linux>\www\code-wars\codewars_script.sql
codewars=# \i \home\<User Linux>\www\code-wars\mock-data.sql
codewars=# \q

Issues et bug hunting

Pour ce qui concerne les bugs, deux options s'offrent à vous. Premièrement, il existe un chanel sur le serveur Discord du Cégep apellé "codewars-bug-hunting" où vous pouvez soumettre des bugs trouvés au sein du système. Sinon, il est possible avec GitHub de créer des "issues" sur notre repo. Si jamais de votre côté vous développez une solution ou une feature pour le site n'hésitez pas à faire un PR.

Crédits

Samuel Tessier

  • Développeur back-end
  • Coordonnateur

Tommy-Lee Pigeon

  • Développeur fullstack
  • Responsable des tests unitaires

Jérémie Bouchard

  • Développeur fullstack
  • Responsable de la base de données

Joshua Leblanc

  • Développeur front-end
  • Responsable UI/UX

Julien Deguire

  • Développeur back-end

License

MIT

Droits d'auteur

© 2021-present, Ether