Implementación de un tic-tac-toe interactivo, usando React del lado del cliente, y Prolog del lado del servidor.
-
Descargar e instalar el SWI-Prolog.
-
Levantar el servidor ejecutando en SWI-Prolog el
run.pl
en la carpetapengines_server
:cd pengines_server
swipl run.pl
o haciendo doble click sobre el
run.pl
.Aclaración: no hacer
swipl pengines_server/run.pl
porque algunas referencias luego no funcionan.La primera vez que se ejecute el run.pl se pedirá definir un username y un password para acceder a la consola web admin del servidor, elegir cualquiera (por ejemplo, username: 'lcc' y password: 'lccdcic'), pero no dejar vacíos.
-
El servidor escuchará en http://localhost:3030
-
Ir a http://localhost:3030/admin/server.html para ver la consola web admin.
-
La carpeta
pengines-master/apps/proylcc
contiene el código prolog del tic tac toe. Cada vez que se modifica este código es necesario bajar y volver a levantar el servidor para que se reflejen los cambios.
-
Descargar una versión reciente de Node.js.
-
Ejecutar
npm install
en el directorio del proyecto (
tic-tac-toe
) para instalar las dependencias (librerías) localmente, en la carpetanode_modules
. -
Ejecutar
npm start
en el directorio del proyecto para correr la app en modo desarrollo.
-
Abrir http://localhost:3000 para ver la aplicación en el browser.
-
La página se refresca automáticamente cuando cambia el código.
Comandos utiles: (todos en la raiz del proyecto)
-
Para NodeJS
- docker build . -t flick-node -f .docker/Dockerfile-node
- docker run --name flick-node -p 3001:3000 flick-node
-
Para Prolog
- docker build . -t flick-prolog -f .docker/Dockerfile-prolog
- docker run --name flick-prolog -it -p 3031:3030 flick-prolog
-
Para ambos
- docker-compose up
- docker-compose up -d # para ejecutarlo en segundo plano
Debemos editar el archivo src/PengineClient.js en la linea 13.