Coder Social home page Coder Social logo

abovecolin / itvb23ows-starter-code Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hanze-hbo-ict/itvb23ows-starter-code

1.0 0.0 0.0 1.59 MB

ITVB23OWS Development Pipelines starter code

License: MIT License

PHP 94.92% Dockerfile 1.10% CSS 3.98%

itvb23ows-starter-code's Introduction

OWS Project

Overzicht

Dit project is opgezet met Docker-compose en omvat meerdere services, waaronder een applicatie server, een database server (MySQL), een AI-service, Jenkins voor continuous integration en delivery, en SonarQube voor codekwaliteit analyse.

Vereisten

Voordat je begint, zorg ervoor dat Docker en Docker Compose geïnstalleerd zijn op je systeem. Daarnaast moet de AI-code gekloond worden van de volgende Git repository: https://github.com/AboveColin/itvb23ows-hive-ai.

Configuratie

  1. Clone de AI-code naar de AI map in je projectdirectory.
  2. Stel het MySQL-wachtwoord in het docker-compose.yml bestand in. Dit moet zowel onder de app als onder de db service gedaan worden.
  3. Controleer of de hostname en poort voor de AI-service correct zijn ingesteld. Pas deze indien nodig aan.
  4. Mogelijk moet je in de App folder nog de commando composer install uitvoeren.

Opstarten

Om de services te starten, open je een terminal in de projectdirectory en voer je het volgende commando uit:

docker compose up -d

Diensten

  • App: Een webapplicatie draaiend op poort 8000.
  • DB: Een MySQL-database beschikbaar op poort 3306.
  • AI: Een AI-service beschikbaar op poort 5001.
  • Jenkins: Een Jenkins-server beschikbaar op poort 8080 voor CI/CD.
  • SonarQube: Een SonarQube server op poort 9000 voor codeanalyse.

Opslag

Docker volumes worden gebruikt voor het persistent maken van data voor MySQL, Jenkins en SonarQube. Deze volumes worden automatisch aangemaakt bij het starten van de services.

itvb23ows-starter-code's People

Contributors

abovecolin avatar ralfvandenbroek avatar

Stargazers

 avatar

itvb23ows-starter-code's Issues

Dropdown Menu toont incorrecte steenopties en velden voor spelers in bordspel

De dropdown die aangeeft welke stenen een speler kan plaatsen bevat ook stenen die de speler niet meer heeft. Bovendien bevat de dropdown die aangeeft waar een speler stenen kan plaatsen ook velden waar dat niet mogelijk is, en bevat de dropdown die aangeeft vanaf welke positie een speler een steen wil verplaatsen ook velden die stenen van de tegenstander bevatten.

Documentation and comments missing

The code in the following files lacks documentation or comments, making it hard to understand the purpose and functionality of the code:

  • undo.php
  • util.php
  • database.php
  • index.php
  • move.php
  • pass.php
  • play.php
  • restart.php

PHP version (5.6) out of date

The PHP version used is outdated (released almost 5 years ago) and is no longer supported.

Suggestion to update to the newest version 8.2

Implementeer Detectie van Winnaar en Gelijkspel

Voeg functionaliteit toe om het einde van het spel te detecteren:

  • Een speler wint als alle zes velden naast de bijenkoningin van de tegenstander bezet zijn.
  • In geval beide spelers tegelijk zouden winnen, is het een gelijkspel.

Implementeer Sprinkhaan Speelstuk Volgens Spelregels

Implementeer de functionaliteit van het sprinkhaan speelstuk in het spel met de volgende regels:

  • De sprinkhaan verplaatst zich in een rechte lijn over andere stenen naar het eerste lege veld direct achter een andere steen.
  • De sprinkhaan mag niet naar zijn huidige positie verplaatsen.
  • De sprinkhaan moet over ten minste één steen springen en kan niet naar een bezet veld springen.
  • Alle velden tussen start- en eindpositie moeten bezet zijn; de sprinkhaan mag niet over lege velden springen.

De undo-functionaliteit werkt nog niet goed

De undo-functionaliteit werkt nog niet goed. De oude zetten worden nog niet
verwijderd, en de toestand van het bord wordt niet altijd goed hersteld. Bovendien
kan je ook undo’en als er nog geen zetten gedaan zijn, en dan lijkt het erop dat je een
toestand uit een ander spel ziet.

Integreer Externe AI voor Spelopties

Integreer een AI tegenstander in het spel:

  • Gebruik de AI-implementatie van de GitHub-repository hanzehbo-ict/itvb23ows-hive-ai.
  • De AI moet draaien in een aparte container en communiceren met de PHP-applicatie via HTTP-requests.
  • De zetten van de AI mogen worden uitgevoerd, ook als ze niet volgens de spelregels geldig zijn.

Beveiligingsaudit van PHP-scripts

Voer een beveiligingsaudit uit op alle PHP-scripts om mogelijke beveiligingsrisico's zoals SQL-injectie, XSS, en CSRF te identificeren en aan te pakken.

Verbeteren van database connectie veiligheid in database.php

Het huidige script maakt gebruik van een directe MySQLi-verbinding. Overweeg het gebruik van een veiligere methode zoals PDO met prepared statements om SQL-injectie te voorkomen.
Bewaar database inloggegevens niet in het script. Gebruik in plaats daarvan omgevingsvariabelen of een configuratiebestand buiten de webroot.

Implementeer Spin Speelstuk Volgens Spelregels

Voeg functionaliteit toe voor het spin speelstuk met deze regels:

  • De spin verplaatst zich door precies drie keer te verschuiven.
  • Een verschuiving volgt de bewegingsregels van de bijenkoningin.
  • De spin mag niet naar zijn huidige positie verplaatsen en niet over of naar bezette velden bewegen.
  • De spin mag tijdens zijn verplaatsing niet terugkeren naar een veld waar hij al is geweest.

Implementeer Soldatenmier Speelstuk Volgens Spelregels

Voeg functionaliteit toe voor het soldatenmier speelstuk met de volgende regels:

  • De soldatenmier mag een onbeperkt aantal keren verschuiven.
  • Een verschuiving volgt de bewegingsregels van de bijenkoningin (alleen naar en over lege velden).
  • De soldatenmier mag niet naar zijn huidige positie verplaatsen.

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.