GitHub:
https://github.com/Desarrollos-Web-Urquiza/EXAMIN.AR
Tecnologías utilizadas: PHP, Boostrap, MySQL y phpMyAdmin
Hace ya varios años atrás, mientras cursaba mi escuela terciaria, me dieron la consigna de hacer una web que le sirviera a una escuela para realizar evaluaciones de forma online.
Por aquel entonces solo contaba con el conocimiento básico que me habían enseñado en los años anteriores, por lo que tenía poca o nula experiencia haciendo proyectos de programación. Así que realizar una web como esta en esa época fue todo una desafío para mí.
Como este fue mi primer proyecto, muestra mi evolución como programador. Al compararlo con mis demás proyectos se puede ver el conocimiento y experiencia que fui ganando a lo largo del tiempo y el progreso que fui consiguiendo en todos estos años.
El sitio tiene principalmente estos usos:
Como no tenía un conocimiento de CSS muy avanzado, la estética del sitio era muy mala.
Las funcionalidades cumplían bastante bien con sus objetivos, pero no ofrecía una interfaz gráfica que para el usuario sea algo agradable de ver.
Así es como se veía al principio😅
La página no era responsive, y a simple vista no se veía nada bien.
Eso restó puntos en mi nota final una vez que presenté este proyecto. Pero de todas formas aprobé por las funcionalidades que le logré crear, las cuales explicaré más adelante
Pasó el tiempo, terminé mi terciario, y comencé a profundizar más en mis conocimientos de diseño web.
Así es como descubrí que existían frameworks de CSS tales como Bootstrap.
Decidí hacer un curso online para aprender a usarlo y una vez terminado se lo importé a mi proyecto. Probé algunas clases y me gustó. Entonces me descargué un template hecho completamente con este framework y con eso empecé a rediseñar todo el sitio de Examin.ar.
Los resultados eran increíblemente distintos.
¡El sitio ahora se veía bien y era adaptable a cualquier dispositivo!
Como se puede ver, esta parte de la web es para que el visitante común obtenga información básica de lo que ofrece la empresa.
Tiene un formulario de "Contacto" para pedir más información o para solicitar el servicio. La sección de "Beneficios" mostrará porqué alguien debería comprar una cuenta premium y la parte de "Novedades" es para estar al tanto de las noticias relacionadas al sitio.
El profesor que utilizará el servicio debe ir a "Iniciar sesión" para entrar en la sección de la página que le permitirá usar el sistema de evaluaciones online.
Para probarlo, podemos usar como ejemplo el usuario "Profesor1" cuya contraseña es "1234" .
Una vez adentro de su sección, ya empezamos a hacer uso de PHP no solo buscando el usuario y contraseña en la base de datos, si no también mediante el objeto "$_SESSION".
En ese objeto se guardará los datos del usuario que acaba de loguearse y nos permitirá hacer una verificación de su inicio de sesión por cada página que visite. Si copió la URL e intenta ingresar a alguna parte de esta sección sin haber iniciado sesión se lo redirecciona al login.
Hablemos ahora sobre cómo funciona el sistema de evaluaciones online.
El primer paso sería crear una escuela, un curso y un alumno.
El DNI del alumno nos permitirá diferenciarlo de los demás en caso de que existan otros alumnos con los mismos nombres.
Después de eso, el próximo paso sería generar evaluación.
Como vemos, es muy sencillo. Solo especificamos el título de la evaluación, cantidad de preguntas y las preguntas propiamente dichas.
Ahora lo que seguiría sería que ese alumno que registramos anteriormente pueda rendir la evaluación que acabamos de crear.
Solo tenemos que asegurarnos de que el nombre que seleccionemos coincida con el número de DNI. Luego solo queda que el alumno conteste las preguntas.
Cuando el alumno empiece a rendir el examen y a contestar las preguntas, la sesión de PHP se va a romper. Por lo que si el alumno quiere volver atrás para usar la cuenta del profesor, no va a poder.
Para poder ver las respuestas del alumno, vamos a Mis alumnos.
Una vez dentro de esta página, seleccionamos el alumno y tocamos la evaluación que deseamos ver.
Además vemos que también podemos editar o eliminar el alumno.
La versión de PHP que utilicé en este proyecto en un principio fue la 5, pero después la actualicé a la 7. Aunque los cambios fueron solamente algunos detalles menores como llamar a MySQL con "mysqli".
La base de datos MySQL que usé para guardar los datos de usuario y todo lo referente a evaluaciones y alumnos usa como SGBD a phpMyAdmin.
Como este fue mi primer proyecto, hay varias cosas que se podrían mejorar. Como por ejemplo, la duplicación de código, la falta de estructura en los archivos, mala indentación, etc.
Además, en vez de usar solo PHP puro como en este proyecto, hubiera sido mucho mejor integrar frameworks como por ejemplo Laravel. Y de hecho he esado aprendiéndolo e implementándolo en este proyecto, mis progresos se pueden ver aquí.
Como se puede ver, hoy por hoy no cuento con un conocimiento muy avanzado en PHP. Pero conozco lo más básico del lenguaje y gracias a mi estudio de Laravel fui conociendo más y más.