UnifiedTransform es una plataforma de gestión escolar de código abierto construida con Laravel y disponible en GitHub.
Este es un gran proyecto de Laravel, por lo que es posible que desee profundizar en el código de fuente abierta, incluidas las pruebas, para aprender cómo se construyó y aportar características. Puede obtener más información sobre esta aplicación y consultar el código fuente en GitHub en changeweb / Unifiedtransform .
Quiero más
Por supuesto! gracias al apoyo que se ha conseguido por todos ustedes (comentando, suscribiéndote y compartiendo) se agregaron nuevos videos, en esta ocasión iniciamos el curso de testing en angular, curso de node, curso mongo y mucho más
Las características principales de UnifiedTransform incluyen las siguientes:
Requerimientos del software
- PHP >= 7.3
- OpenSSL PHP Extensión
- PDO PHP Extensión
- Mbstring PHP Extensión
- Tokenizer PHP Extensión
- XML PHP Extensión
Características
Este software tiene las siguientes características:
- Roles: (Maestro, administrador, profesor, estudiante, bibliotecario, contador)
- Asistencia
- Registro Aviso
- Plan de estudios
- Biblioteca
- Exámenes
- Calificación
- Cuentas Mensajería
'timezone' => 'Asia/Dhaka',//'UTC',
'locale' => 'en',//'es-MX' for Spanish
Como empezar:
Instalación clásica:
Estos son algunos pasos básicos para comenzar a usar esta aplicación.
- Clonar el repositorio
git clone https://github.com/changeweb/Unifiedtransform
- Copie el contenido del
.env.example
archivo para crear.env
en el mismo directorio - Ejecutar
composer install
para el entorno dedeveloper
o entorno local y ejecutarcomposer install --optimize-autoloader --no-dev
para elproduction
entorno para instalar paquetes de Laravel (eliminar Laravel Debugbar , los paquetes del visor de registro de Laravel de composer.json
//Provider
Barryvdh\Debugbar\ServiceProvider,
Logviewer Service provider,
//Alias
'Debugbar' => Barryvdh...
Desde config/app.php
antes de ejecutarse composer install
en el entorno de producción )
- Generar
APP_KEY
usandophp artisan key:generate
- Edite la configuración de conexión de la base de datos en un archivo .env, por ejemplo
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=unifiedtransform
DB_USERNAME=unified
DB_PASSWORD=secret
Tenga en cuenta que esto es solo un ejemplo y que los valores pueden variar según el entorno de su base de datos.
- Establezca la
APP_ENV
variable en su.env
archivo de acuerdo con el entorno de su aplicación (por ejemplo, local, producción) en el.env
archivo - Migre su base de datos con
php artisan migrate
- Siembre su base de datos con
php artisan db:seed
- En localhost, entregue su aplicación con
php artisan serve
Video Tutorial de instalación
(Optional)
Laravel Page Speed está instalado pero no activado. Si desea utilizarlo para optimizar su sitio automáticamente, lo que se traduce en una optimización de más del 35%. Necesita descomentar algunas líneas del Kernel.php
archivo y es posible que deba ejecutarlas php artisan vendor:publish --provider="RenatoMarinho\LaravelPageSpeed\ServiceProvider"
.
app/HTTP/Kernel.php
//\RenatoMarinho\LaravelPageSpeed\Middleware\InlineCss::class,
//\RenatoMarinho\LaravelPageSpeed\Middleware\ElideAttributes::class,
//\RenatoMarinho\LaravelPageSpeed\Middleware\InsertDNSPrefetch::class,
//\RenatoMarinho\LaravelPageSpeed\Middleware\RemoveComments::class,
//\RenatoMarinho\LaravelPageSpeed\Middleware\TrimUrls::class,
//\RenatoMarinho\LaravelPageSpeed\Middleware\RemoveQuotes::class,
//\RenatoMarinho\LaravelPageSpeed\Middleware\CollapseWhitespace::class,
Para crear un Master
, dirigete a la ruta database\seeds\UsersTableSeeder.php
y cambia el name
, el email
y el password
y el sistema quedara con la configuración a su gusto. ¡Deje las otras configuraciones (rol, activo, verificado) sin cambios!
El paquete Laravel Passport se incluye para admitir API. La clave para Passport debe generarse automáticamente php artisan passport:keys
desde el post-install-cmd
script composer.json
o debe ejecutarlo manualmente y para eliminar este paquete solo siga estos pasos
- Elimínelo de las
composer.json
dependencias requeridas y elimine el comando@php artisan passport:keys
delpost-install-cmd
script - Ejecutar
composer update
ycomposer dump-autoload
. - Y todas las clases que dependen del passport también deben editarse. Las clases más comunes son:
app\User.php
modelo, elimine elHasApiToken
rasgo.app\Proiders\AuthServiceProvider
, elimíneloPassport::routes();
en su método de arranque.- En
config/auth.php
, cambie su opción de controlador deapi
desdepassport
aapi
autenticación.
Para crear las tablas, ejecute php artisan migrate
.
- Si no desea utilizar el paquete Passport , elimine las migraciones de Passport en la
migrations
tabla de la base de datos y ejecute el comandophp artisan migrate:refresh
- Para generar tablas con datos falsos, use
php artisan db:seed
. - Si desea ejecutar la migración y la siembra juntas, use
php artisan migrate:refresh --seed
Debe inicializar database\seeds\UsersTableSeeder.php
al menos una vez para crear la cuenta master ( para producción: ejecute la inicialización en el entorno de desarrollo y luego cambie a producción ). Para hacerlo, siga estos pasos:
- comentar todas los seeders excepto
$this->call(UsersTableSeeder::class);
endatabase\seeds\DatabaseSeeder.php
; - luego comentar
factory(App\User::class, 200)->create();
enUsersTableSeeder.php
.
Entonces sus archivos se verán así:
En database\seeds\DatabaseSeeder.php
:
...
//$this->call(SectionsTableSeeder::class);
$this->call(UsersTableSeeder::class);
//$this->call(AttendancesTableSeeder::class);
...
En database\seeds\UsersTableSeeder.php
:
...
//factory(User::class, 10)->states('admin')->create();
//factory(User::class, 10)->states('accountant')->create();
//factory(User::class, 10)->states('librarian')->create();
//factory(User::class, 30)->states('teacher')->create();
//factory(User::class, 200)->states('student')->create();
Instalar con contenedor de Docker:

Docker ahora es compatible y mejorado.
Con la configuración mejorada de Docker, obtendrá:
- Nginx
- PHP 7.4
- MySQL 8
- PHPMyAdmin
- Comandos de Composer: acceda a los comandos de Composer directamente sin ingresar al contenedor
- Comandos artesanales: acceda a los comandos artesanales directamente sin ingresar al contenedor
En pocas palabras, solo necesita instalar Docker, así como docker-compose
en su máquina (host) y dejar que Docker se encargue del resto.
Paso para instalar:
- Correr
cp .env.example .env
- Si cree que la configuración predeterminada está bastante bien configurada, puede ejecutarla de
./docker-install.sh
inmediato desde su terminal. - De lo contrario, lea una sección a continuación para obtener más información sobre las propiedades que puede cambiar.
- Correr
./docker-install.sh
Nota
Estas son las .env
propiedades que puede cambiar:
.env
Propiedades comunes de LaravelDOCKER_WEBSERVER_HOST
define la dirección del puerto de Unifiedtransform. valor por defecto:4049
DOCKER_PHPMYADMIN_HOST
define la dirección del puerto PHPMyAdmin. valor por defecto:5051
También puede personalizar el nombre de la base de datos definido en la DB_DATABASE
propiedad cuando Docker se inicializa por primera vez.
Comandos agregados
docker-compose run --rm composer <commands>
docker-compose run --rm artisan <commands>

Crea una escuela y un Administrador
- Importante: ¡solo a
master
puede crear una nueva escuela y sus administradores! - Inicie sesión
example.com/login
con lasMaster
credenciales de su cuenta - Crear una nueva
school
- Crea un nuevo
admin
para la escuela recién creada
Administrar una escuela
- Importante: ¡
master
NO PUEDE administrar los datos de una escuela! - Iniciar sesión como
admin
enexample.com/login
- Ahora agregue datos a la escuela según sea necesario.
Pasos básicos por serie (Orden correcto de registro)
- Crear clases
- Crear secciones
- Crear examen
- Agregar estudiantes
- Agregar departamento
- Agregar profesores
- Agregar cursos
- Entonces el maestro puede tomar asistencia, dar calificaciones
Administrar examen (en la página de administración de exámenes) por administrador
- Marque la casilla de verificación Aviso publicado para un examen después de cargar el Aviso de examen.
Marque la casilla de verificación Resultado publicado para un examen después de que todos los profesores hayan actualizado las calificaciones de sus cursos.
- Si se verifica el resultado publicado, se establece el examen como completado.
- El examen se establece como Activo de forma predeterminada mientras se crea. Puede desactivar el examen marcando la casilla de verificación relacionada.
Administrar GPA y calificación
- El administrador agrega GPA para los respectivos rangos de calificaciones.
Para otorgar calificaciones, el profesor hace clic en el botón Enviar calificación y hace lo siguiente:
- Seleccione un GPA por nombre en el menú desplegable
- Configurar prueba de clase, cuestionario, etc. cuenta, porcentaje (Opcional)
- Calificar
- Para obtener la calificación de los estudiantes de un curso para las calificaciones determinadas, el profesor hace clic en el botón Obtener calificaciones totales. (Por lo general, esto se hace al final del semestre)
Dar certificado o diploma a los estudiantes
- Configure su configuración de correo en el
.env
archivo si desea enviar correo electrónico. Los usuarios registrados actualmente son notificados por correo de invitación si Mail está configurado correctamente. - Este proyecto utiliza Laravel Impersonate en entornos de desarrollo y ensayo, por lo que puede ver la aplicación a través de los ojos de otro usuario, lo que es útil para realizar pruebas. Consulte la guía para utilizar la Impersonation. .
- En
.env
, gireAPP_DEBUG
afalse
para entornos de producción. - Eliminar
Route::get('logs','\Rap2hpoutre\LaravelLogViewer\LogViewerController@index');
deroutes/web.php
mientras se encuentra en el entorno de producción. - Puede cambiar ay desde el modo de mantenimiento ejecutando
php artisan up
yphp artisan down
. - Optimización de la carga de ruta
php artisan route:cache
- El contenido de la página del tablero (por ejemplo, recuento de estudiantes, recuento de profesores, aviso, etc.) se almacena en caché porque no se modifican con frecuencia. Si no desea que se almacenen en caché, simplemente elimine las líneas de caché en el
index
métodoapp\Http\Controller\HomeController.php
como en el siguiente ejemplo. Entonces su edición sería algo como esto:
De:
...
$classes = \Cache::remember('classes-'.$school_id, $minutes, function () use($school_id) {
return \App\Myclass::where('school_id', $school_id)
->pluck('id')
->toArray();
});
...
A:
...
$classes = \App\Myclass::where('school_id', $school_id)
->pluck('id')
->toArray();
...
Puede hacer algo similar para otras líneas de caché.
Algunas capturas de pantalla:
Se utilizaron datos falsos generados automáticamente.






