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.
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
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
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>
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
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
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.
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
© 2021-present, Ether