GitHunt
IS

IsacC2005/EvaluacionAsistida

📝 Gestión de notas y evaluación escolar para nivel básico. EVA permite a los docentes gestionar referentes teóricos e indicadores de aprendizaje, consumiendo datos de matrícula de forma externa. Incluye exportación a Excel/Word y procesamiento de tareas en segundo plano (Jobs).

EVA 'EvaluaciĂłn Asistida'

Eva es un sistema de gestion de notas para escuelas de nivel basico en donde lo profesores podran cargar sus proyectos de aprendizaje y cargar sus referentes teoricos con sus indicadores.

Esta version de Eva no gestiona a los profesores, matriculas ni estudiante, ya que esos datos los espera por medio de un API externa.


Indice


Estructura

app/
├── Console/
│   └── Commands/
│       ├── DispatchPendingJobs.php <-- Shedule para la creación de los boletines
│       └── JapecoSync.php <-- Shedula para la syncronización con JAPECO
│
├── Constants/
│   ├──PermissionConstants.php <-- Contantes de permisos
│   ├──RoleConstants.php <-- Contantes de roles
│   └──TDTO.php <-- Contantes de transformaciones de DTO
│
├── DTOs/
│   ├── Details/ <-- DTOs detallados de los modelos
│   ├── Searches/ <-- DTOs para búsquedas
│   └── Summary/ <-- DTOs resumidos de los modelos
│
├── Events/
│
├── Exceptions/ <-- Excepciones personalizadas
│
├── Exports/
│   └── NotesExport.php <-- Clase para exportar notas a Excel
│
├── Factories/
│   └── ***/ <-- Archivos de transformación de datos a DTOs
│
├── Http/
│   ├── Controllers/ <-- Controladores de peticiones Http
│   │   └── ***/
│   ├── Middleware/
│   │   └── ***/
│   └── Requests/ <-- Clases de validación para peticiones Http
│       └── ***/
│
├── Jobs/
│   └── CreateTicketJob.php <-- Job para la creación de boletines
│
├── Models/
│   └── ***/
│
├── Providers/
│   └── ***/
│
├── Repositories/
│   ├── Interfaces/ <-- Interfaces para los repositorios
│   └── ***/ <-- Implementaciones de los repositorios
│
├── Rules/
│   └── ***/ <-- Reglas de validación personalizadas
│
├── Services/
│   └── ***/ <-- Lógica de negocio de la aplicación
│
├── .env <-- Archivo de configuracion

Requisitos

  • PHP: VersiĂłn 8.0 o superior.
  • Composer: Gestor de dependencias de PHP.
  • Node.js: VersiĂłn 16.x o superior.
  • npm (viene con Node.js).
  • MySQL (o tu base de datos preferida, como PostgreSQL, SQLite, etc.).
  • Git: Para clonar el repositorio.

Tecnologias

Frameworks

  • Laravel: VersiĂłn ^12.0.0
  • Vue.js: VersiĂłn ^3.5.13
  • Tailwindcss: VersiĂłn ^3.3.2

Dependencias Vue

  • Typescript: VersiĂłn ^5.2.2
  • Headlessui: VersiĂłn ^1.7.23
  • Pinia: VersiĂłn ^3.0.3
  • Inertiajs: VersiĂłn ^5.2.4
  • Tsparticles: VersiĂłn ^3.9.1

Dependencias Laravel

  • maatwebsite/excel: VersiĂłn ^3.1
  • phpoffice/phpword: VersiĂłn ^1.4
  • predis/predis: VersiĂłn ^3.2
  • spatie/laravel-activitylog: VersiĂłn ^4.10
  • spatie/laravel-backup: VersiĂłn ^9.3
  • spatie/laravel-permission: VersiĂłn ^6.20

InstalaciĂłn

Sigue estos pasos para poner en marcha el proyecto en tu máquina local:

  1. Clona el repositorio:

    git clone https://github.com/IsacC2005/EvaluacionAsistida.git
    cd EvaluacionAsistida
  2. Instala las dependencias de PHP:

    composer install
  3. Configura el archivo de entorno (.env):

    Copia el archivo de ejemplo .env.example y renĂłmbralo a .env:

    cp .env.example .env

    Abre el archivo .env recién creado y configura tus credenciales de base de datos y cualquier otra variable de entorno necesaria. Aquí tienes un ejemplo de configuración de base de datos para MySQL:

    APP_NAME="Eva"
    APP_ENV=local
    APP_KEY=
    APP_DEBUG=true
    APP_URL=http://localhost:8000
    
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=eva_db # Cambia esto por el nombre de tu BD
    DB_USERNAME=user_db           # Cambia esto por tu usuario de BD
    DB_PASSWORD=password_bd          # Cambia esto por tu contraseña de BD
    
    JAPECO_URL= "localhost:4000" # Cambia esto por la direcciĂłn del API de JAPECO
  4. Genera la clave de la aplicaciĂłn Laravel:

    php artisan key:generate
  5. Ejecuta las migraciones de la base de datos:

    Esto creará las tablas necesarias en tu base de datos.

    php artisan migrate --seed
  6. Instala las dependencias de JavaScript:

    npm install 
  7. Compila los assets de frontend:

    • Para desarrollo (con recarga en caliente - HMR):

      npm run dev
    • Para producciĂłn (archivos optimizados):

      npm run build

EjecuciĂłn del Proyecto

Una vez que hayas completado los pasos de instalaciĂłn, puedes iniciar el servidor de desarrollo de Laravel:

php artisan serve

Para iniciar el servidor de Vue ejecuta el siguiente comando:

npm run dev

Para iniciar las colas de procesos ejecuta el siguiente comando:

php artisan queue:work --queue=work,japeco-sync

Para correr los shedules ejecuta el siguiente comando:

while($true){
	php artisan schedule:run
	sleep(60)
}

đź”— Documentaciones

A continuación se listan los enlaces a la documentación oficial de los principales frameworks y librerías utilizados en este proyecto, agrupados por su contexto para una fácil referencia.

CategorĂ­a TecnologĂ­a Enlace Directo a la DocumentaciĂłn
Backend / PHP Laravel đź”— laravel.com/docs
maatwebsite/excel đź”— docs.laravel-excel.com
phpoffice/phpword đź”— phpword.readthedocs.io
predis/predis đź”— predis.github.io/predis/
spatie/laravel-activitylog đź”— spatie.be/docs/laravel-activitylog
spatie/laravel-backup đź”— spatie.be/docs/laravel-backup
spatie/laravel-permission đź”— spatie.be/docs/laravel-permission
Frontend / JS Vue.js đź”— vuejs.org/guide/
Pinia đź”— pinia.vuejs.org/
Inertia.js đź”— inertiajs.com/documentation
TypeScript đź”— typescriptlang.org/docs/
Headless UI đź”— headlessui.com/react/menu
TSParticles đź”— particles.js.org/docs/
Estilos Tailwind CSS đź”— tailwindcss.com/docs

Languages

PHP50.6%Vue44.1%TypeScript3.4%CSS1.4%Blade0.4%JavaScript0.1%

Contributors

Created July 26, 2025
Updated January 16, 2026