Framework utilizado: Laravel 7
Enlace de modelo de base de datos: https://dbdiagram.io/d/5ebaa8bb39d18f5553ff14e8
Se recomienda usar una maquina virtual para el sistema por la siguientes razones:
- Mayor escalabilidad
- Control de versiones
- Control de actualizaciones
- Mayor seguridad
Puede ser instalado en un hosting (GoDaddy, Bluehost, etc), pero la mayoria de los pasos están enfocado en una maquina virtual, al instalar en un hosting se recomienda hacer estos pasos en local y luego subir la carpeta del proyecto por FTP.
Se requieren los siguientes componentes:
- PHP: 7.2.5 en adelante
- Servidor Apache o Nginx
- MySQL 5.7 (8.0 es soportado pero puede causar imcompatibilidad en la conexion)
- Composer
Tambien son requeridas las siguientes extensiones de PHP:
- BCMath
- Ctype
- Fileinfo
- JSON
- MBstring
- PDO (MySQL)
- XML
- Curl (para composer)
Para instalar el sistema, primero debemos clonar el repositorio, siguiendo este orden de comandos:
- Clonamos el repositorio:
git clone https://github.com/KiritoXD01/mini-sistema-registro.git
- Luego copiamos el archivo
.env.example
con:cp .env.example .env
- abrimos el archivo
.env
y modificamos los siguientes atributos:
APP_NAME: nombre de la aplicacion ("Mini Sistema Registro"), con las comillas para que tome los espacios en blanco.
APP_ENV: El entorno donde estara la aplicacion, local para local y pruebas, production para ambientes de produccion.
APP_DEBUG: Habilita o deshabilita los errores visuales.
APP_URL: El dominio que apunta al servidor donde reside la aplicacion.
APP_LOCALE: El idioma por defecto de la aplicación: "es" para español, "en" para ingles.
APP_TIMEZONE: Hora horaria a usar: para republica dominicana por defecto seria:
America/Santo_Domingo
-
Luego modificamos la sección de base de datos con los datos del servidor de base de datos a utilizar, el ejemplo puede ser encontrado en el archivo
.env.example
. -
Luego para instalar todas las dependencias del proyecto, usamos el comando
composer install
, este nos avisara si falta alguna extension de PHP para ser instalado. -
Al terminar, debemos generar la llave de seguridad de la aplicación, para esto usamos el comando
php artisan key:generate
. -
Ahora se configura el servidor web para mostrar la aplicacion, se recomienda nginx, Aqui esta como debe quedar el archivo de virtualhost. Recordando que debe apuntar a la carpeta
public
del proyecto. puede ser instalado tambien con Apache, pero no maneja la misma cantidad de usuarios conectados al mismo tiempo. -
Para crear las tablas de la base de datos y agregar los datos iniciales, (habiendo ya configurado la base de datos), se ejecuta el comando:
php artisan migrate --seed
- Usuario: [email protected]
- Clave: password
El sistema contiene permisos para poder crear usuarios con diferentes niveles de acceso. Aqui el listado de todos los permisos disponibles:
Permiso | Descripcion |
---|---|
user-list | Lista todos los usuarios creados en el sistema |
user-create | Crear usuarios (tambien importacion de usuarios) |
user-show | Mostrar informacion de usuario en especifico |
user-edit | Editar informacion de usuario en especifico |
user-delete | Deshabilitar un usuario |
role-list | Lista todos los roles creados en el sistema |
role-create | Crear roles de usuario |
role-show | Mostrar informacion de Rol en especifico |
role-edit | Editar informacion de Rol en especifico |
role-delete | Eliminar Rol |
teacher-list | Lista todos los profesores creados en el sistema |
teacher-create | Crear profesores (tambien importacion de profesores) |
teacher-show | Mostrar informacion de usuario en especifico |
teacher-edit | Editar informacion de usuario en especifico |
teacher-delete | Deshabilitar un usuario |
student-list | Lista todos los estudiantes creados en el sistema |
student-create | Crear estudiantes (tambien importacion de estudiantes) |
student-show | Mostrar informacion de estudiante en especifico |
student-edit | Editar informacion de estudiante en especifico |
student-delete | Deshabilitar un estudiante |
course-list | Lista todos los cursos creados en el sistema |
course-create | Crear cursos |
course-show | Mostrar informacion de curso en especifico |
course-edit | Editar informacion de curso en especifico |
course-delete | Deshabilitar un curso |
course-students | Administrar estudiantes d en un curso (remover o agregar) |
course-points | Cambiar puntos de un estudiante en un curso |
course-certification | Obtener certificado de un estudiante |
study-subject-list | Lista todos las materias creadas en el sistema |
study-subject-create | Crear materias (tambien importacion de materias) |
study-subject-show | Mostrar informacion de una materia en especifico |
study-subject-edit | Editar informacion de una materia en especifico |
study-subject-delete | Deshabilitar una materia |
institution-show | Mostrar informacion de la institucion |
institution-edit | Editar informacion de la institucion |
Las pantallas de Usuarios, Profesores, Estudiantes y materias pueden importar datos a traves de un archivo CSV o Excel, para hacer esto crear el archivo (sin encabezados) con el siguiente formato:
Pantalla | Formato |
---|---|
Usuarios | nombre, email, clave |
Estudiantes | nombre, apellido, email, clave |
Profesores | nombre, apellido, email, clave |
Materias | nombre, codigo |