Add project summary
This commit is contained in:
parent
b796f6bf47
commit
ac456c2328
|
@ -0,0 +1,88 @@
|
|||
#+TITLE: MDIS
|
||||
#+SUBTITLE: Programación Web
|
||||
#+AUTHOR: Amin Kasrou Aouam
|
||||
#+DATE: 2020-06-18
|
||||
#+PANDOC_OPTIONS: template:~/.pandoc/templates/eisvogel.latex
|
||||
#+PANDOC_OPTIONS: listings:t
|
||||
#+PANDOC_OPTIONS: toc:t
|
||||
#+PANDOC_METADATA: lang=es
|
||||
#+PANDOC_METADATA: titlepage:t
|
||||
#+PANDOC_METADATA: listings-no-page-break:t
|
||||
#+PANDOC_METADATA: toc-own-page:t
|
||||
#+PANDOC_METADATA: table-use-row-colors:t
|
||||
#+PANDOC_METADATA: logo:/home/coolneng/Photos/Logos/UGR.png
|
||||
* MDIS
|
||||
|
||||
MDIS es una sistema de información que permite la gestión de una consulta médica.
|
||||
|
||||
** Funcionalidades
|
||||
|
||||
- Gestión de Usuarios
|
||||
- Gestión de Pacientes
|
||||
- Gestión de Citas
|
||||
- Gestión de Vacaciones
|
||||
- Gestión de Informes
|
||||
|
||||
** Tecnologías
|
||||
|
||||
- PHP
|
||||
- MySQL
|
||||
- Javascript (Jquery)
|
||||
- Nix
|
||||
|
||||
** Arquitectura
|
||||
|
||||
#+CAPTION: Arquitectura del sistema
|
||||
[[./assets/F1.png]]
|
||||
|
||||
Es un sistema web clásico, con la característica de que las consultas a la base de datos se realizan mediante /PDO/, para evitar vulnerabilidades del tipo /inyección de SQL/.
|
||||
|
||||
Además de ésto, no hacemos ninguna consulta /SQL/ fuera del archivo database.php, lo que nos permite separar la lógica interna de la presentación.
|
||||
|
||||
** Despliegue
|
||||
|
||||
El desarrollo y despliegue del sistema se han hecho gracias a /Nix/, un gestor de paquetes que permite entornos de desarrollo y despliegue reproducibles.
|
||||
|
||||
A continuación mostramos el código que defino el entorno:
|
||||
|
||||
#+BEGIN_SRC nix
|
||||
{ pkgs ? import <nixpkgs> { } }:
|
||||
|
||||
with pkgs;
|
||||
|
||||
mkShell {
|
||||
# Definición de los paquetes
|
||||
buildInputs = [ php74 php74Extensions.pdo_mysql mysql57 ];
|
||||
|
||||
# Comandos que se ejecutan al entrar en la nix-shell
|
||||
shellHook = ''
|
||||
pkill mysql
|
||||
rm -rf .mysql && mkdir .mysql
|
||||
|
||||
mysqld --datadir="$(pwd)/.mysql" --socket="$(pwd)/.mysql/mysql.sock" --initialize-insecure
|
||||
mysqld --datadir="$(pwd)/.mysql" --socket="$(pwd)/.mysql/mysql.sock" --skip-networking &
|
||||
sleep 1
|
||||
|
||||
mysql --socket="$(pwd)/.mysql/mysql.sock" -u root < $(pwd)/database/db.sql
|
||||
|
||||
alias mysql='mysql --socket="$(pwd)/.mysql/mysql.sock" -u root'
|
||||
|
||||
php -S localhost:8000
|
||||
'';
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
Como podemos ver, /Nix/ nos permite:
|
||||
|
||||
- Instalar las dependencias necesarias, en el ámbito de una shell
|
||||
- Ejecutar una base de datos temporal
|
||||
- Inicializar la base de datos
|
||||
- Lanzar el servidor web interno de PHP (se podría reemplazar por Apache/Nginx/...)
|
||||
|
||||
El único comando que tenemos que ejecutar es:
|
||||
|
||||
#+BEGIN_SRC shell
|
||||
nix-shell
|
||||
#+END_SRC
|
||||
|
||||
Y ya dispondremos de un sistema funcional, y accesible en la URL *localhost:8000*.
|
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 6.0 KiB |
Loading…
Reference in New Issue