El objetivo de este proyecto es estimular a los estudiantes de Factoría F5 a que se sientan seguros de sí mismos y avancen en su aprendizaje. Para lograrlo, desarrollamos una aplicación que permite a cada coder puntuar sus habilidades y la de sus compañeros. Los profesores pueden gestionar todas esas evaluaciones y estudiantes al crear, editar y eliminar promociones, temas ("topics") y competencias.
La aplicación es responsive, de modo que pueda emplearse por formadores y coders tanto en su ordenador como desde un dispositivo móvil.
- Registro
- Autoevaluación
- Coevaluación
- Acceso a una vista comparativa de la auto y coevaluación
- Creación de topics (tecnologías y habilidades a dominar)
- Creación de bootcamps y asignación de estudiantes
- Acceso a la evaluación de sus estudiantes
- Creación de competencias
- Acceso a lista de formadores
Seguir las siguientes instrucciones permite crear una copia del proyecto y ejecutarla en una máquina local para desarrollo o testing.
- PHP 8 o superior
- Laravel 10 o superior
- Servidor web (Apache o Nginx)
- Base de datos MySQL o PostgreSQL
- Tailwind CSS
- Flowbite
- Clonar el repositorio
- Navegar hacia el directorio del proyecto a través de la consola o interfaz visual
- Instalar las dependencias del proyecto:
composer install
- Copiar el contenido archivo
.env.example
a otro llamado.env
:cp .env.example .env
- Generar una llave:
php artisan key:generate
- Configurar la base de datos en el archivo
.env
- Migrar la base de datos :
php artisan migrate
- Instalar Tailwind CSS y Flowbite:
npm install tailwindcss
npm install flowbite
- Construir el archivo CSS:
npx tailwindcss
-o public/css/app.css - Iniciar el servidor de desarrollo:
php artisan serve
Luego de completar estos pasos, debería poder acceder a la aplicación en su navegador en http://localhost:8000
.
Para configurar los tests, ver apartado Testing.
Para que una copia de la aplicación pueda ejecutar los tests, se deberán seguir estos pasos.
* Crear una nueva base de datos llamada `codereview_test`.
* Modificar el archivo `config.database.php`, agregando los parámetros para la nueva base de datos.
* Crear archivo `.env.testing` y modificar los parámetros de la base de datos recién creada.
* Aplicar los cambios de variables de entorno y configuración con `php artisan config:clear` y `php artisan cache:clear`.
* Migrar el esquema de base de datos a codereview_test con `php artisan migrate:fresh --env=testing`
* Ejecutar los tests con `php artisan test`
Se diseñaron tests que prueban el intercambio de datos entre las entidades y las vistas, así como las respuestas enviadas por el servidor. Existen clases para cada uno de los principales controladores de la aplicación.
El siguiente ejemplo es de un método que comprueba si una competencia se almacena en la base de datos y se visualiza en la vista correcta:
public function testCanInsertCompetence(): void
/**
* Test that checks if a competence can be inserted
*/
{
$competence1 = new Competence([
'name' => 'Lenguajes frikis',
'description' => 'Dominio de Alto Valirio, Klingon, Pársel, Sindarin, etc.'
]);
$competence1->save();
$competence2 = new Competence([
'name' => 'Series de programadores',
'description' => 'Haber visto Halt and Catch Fire, Silicon Valley o Mr. Robot.'
]);
$competence2->save();
$response = $this->get('/competencias');
$response->assertOk();
$response->assertSee('Lenguajes frikis');
$response->assertSee('Series de programadores');
}
Nos plegamos a códigos de conducta estándar de la comunidad de software, entre ellos: CONTRIBUTING.md.
Cualquier persona puede clonar y solicitar pull requests a los administradores de este repositorio siguiendo esas normas.
Adria Gomez |
Sara Àlvarez |
Gabriela Fernandez |
Sharon Infante |
Marjane Oliveira |
---|
© CodeReview 2023