Diferencia entre revisiones de «Lolstats Documentación Técnica»

De WikiGarcia
Línea 8: Línea 8:


Usaremos además el sistema operativo Linux para hacer todo el proyecto por su facilidad para trabajar en la Web. Las instrucciones siguientes aplican para cualquier distribución basada en Debian.
Usaremos además el sistema operativo Linux para hacer todo el proyecto por su facilidad para trabajar en la Web. Las instrucciones siguientes aplican para cualquier distribución basada en Debian.
== Configuración del entorno ==
Necesitaremos dos directorios principales:
* '''Directorio de código''': Aquí se colocará el proyecto Django y los cripts python necesarios. Ej: ~/lolstats/
* '''Directorio de datos''': Aquí se colocarán los datos extraídos de la API de Riot y del repositorio de recursos. Ej: ~/datos/


== MariaDB (MySQL) ==
== MariaDB (MySQL) ==
Línea 30: Línea 37:
<code>CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'password';</code><br>
<code>CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'password';</code><br>
<code>GRANT ALL PRIVILEGES ON `lolstats`.* TO 'usuario'@'localhost';</code><br>
<code>GRANT ALL PRIVILEGES ON `lolstats`.* TO 'usuario'@'localhost';</code><br>
== Herramientas extras (Opcinales) ==
* '''Git''': Para control de versiones.
* '''Tmux''': Para navegar entre ventanas de terminal.
* '''Vim''': Para editar archivos desde consola.
== Django ==
Django es un framework de desarrollo web en Python basado en MVC, proporciona métodos convenientes para crear páginas web, servicios web y administrar bases de datos.
=== Instalación de Python ===
Las distribuciones Linux ya traen instalada una versión de Python. Asumiremos que con esa funciona.
Nótese que algunas veces el comando para usar python 3.x es ''python3'' en lugar de ''python''.
'''TODO''': Agregar guía de instalación para la versión de Python usada.
==== Entorno virtual ====
Es recomendable trabajar en un entorno virtual para que futuras actualizaciones no afecten nuestro proyecto.
Instalamos el paquete.
<code>pip install venv</code><br>
Nos movemos al directorio de código y creamos el entorno virtual.
<code>cd ~/lolstats/</code><br>
<code>python -m venv venv</code><br>
Activamos el entorno:
<code>source venv/bin/activate</code>
A partir de ahora todo lo que hagamos en Python se hará con el entorno virtual. Recuerda siempre activar el entorno antes de ejecutar Python o pip.
=== Django ===
==== Instalación ====
Para instalar el release oficial:
<code>pip install django</code><br>
==== Creación del proyecto ====
Solo cubriremos lo relacionado con el modelo de aprendizaje y no lo relativo a la página web.
Para crear el proyecto utilizamos el comando:
<code>django-admin startproject lolstats</code><br>
Para poder empezar a recopilar nuestros datos necesitamos configurar el acceso a base de datos.
Editar el archivo ~/lolstats/lolstats/settings.py
'''TODO:''' Poner campos a editar.

Revisión del 19:50 12 feb 2022

En este apartado se detalla el proceso de configuración, planeación y codificación del proyecto Lolstats.

Entorno y Herramientas

Dada su facilidad de uso, configuración y versatilidad para la IA, usaremos Python como lenguaje de programación principal.

La idea final del proyecto es poner el modelo disponible en una página web donde los usuarios puedan consultarlo, es por ello que usaremos Django como framework de desarrollo. También usaremos la facilidad que tiene para crear y administrar una base de datos.

Usaremos además el sistema operativo Linux para hacer todo el proyecto por su facilidad para trabajar en la Web. Las instrucciones siguientes aplican para cualquier distribución basada en Debian.

Configuración del entorno

Necesitaremos dos directorios principales:

  • Directorio de código: Aquí se colocará el proyecto Django y los cripts python necesarios. Ej: ~/lolstats/
  • Directorio de datos: Aquí se colocarán los datos extraídos de la API de Riot y del repositorio de recursos. Ej: ~/datos/

MariaDB (MySQL)

MySQL es un sistema de gestión de bases de datos basado en lenguaje SQL, es gratuito aunque es propiedad de Oracle, por eso mejor usaremos la versión de código libre llamada MariaDB la cuál tiene exactamente las mismas características.

Instalación

sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

A mi me gusta desactivar la validación de password porque es muy restrictiva.

mysql -u root -p
uninstall plugin validate_password;

Creación de Base de datos

mysql -u root -p
CREATE DATABASE lolstats;
CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON `lolstats`.* TO 'usuario'@'localhost';

Herramientas extras (Opcinales)

  • Git: Para control de versiones.
  • Tmux: Para navegar entre ventanas de terminal.
  • Vim: Para editar archivos desde consola.

Django

Django es un framework de desarrollo web en Python basado en MVC, proporciona métodos convenientes para crear páginas web, servicios web y administrar bases de datos.

Instalación de Python

Las distribuciones Linux ya traen instalada una versión de Python. Asumiremos que con esa funciona.

Nótese que algunas veces el comando para usar python 3.x es python3 en lugar de python.

TODO: Agregar guía de instalación para la versión de Python usada.

Entorno virtual

Es recomendable trabajar en un entorno virtual para que futuras actualizaciones no afecten nuestro proyecto.

Instalamos el paquete.

pip install venv

Nos movemos al directorio de código y creamos el entorno virtual.

cd ~/lolstats/
python -m venv venv

Activamos el entorno:

source venv/bin/activate

A partir de ahora todo lo que hagamos en Python se hará con el entorno virtual. Recuerda siempre activar el entorno antes de ejecutar Python o pip.

Django

Instalación

Para instalar el release oficial:

pip install django

Creación del proyecto

Solo cubriremos lo relacionado con el modelo de aprendizaje y no lo relativo a la página web.

Para crear el proyecto utilizamos el comando:

django-admin startproject lolstats

Para poder empezar a recopilar nuestros datos necesitamos configurar el acceso a base de datos.

Editar el archivo ~/lolstats/lolstats/settings.py

TODO: Poner campos a editar.