Final project of the subject Web Applications in Universidad Complutense de Madrid. Internprise is an application that put in contact students, universities and enterprises thanks to internship programs. Graded with honors to two of our members
Se tiene que restringir las universidades a las existentes en la bbdd. Para ello se tiene que crear una tabla para universidades y modificar los formularios de registro para que solo salgan las universidades que están metidas en esta tabla. Cuando se cree un nuevo administrador, podrá crear una universidad nueva. (Comprobar que no existe la que se quiere crear) Así nos aseguramos que los estudiantes solo pueden registrarse en universidades que tienen administrador asociado.
Para todas las ofertas del estudiante, checkear las aptitudes del estudiante con las de la oferta y seleccionar las 3 ofertas que más se ajustan al perfil del estudiante.
Este issue se tiene que dejar para los finales ya que depende de que funcionalidades como las aptitudes estén implementadas
Ahora mismo tenemos campos muy básicos. Abría que ampliar la información de cada rol, expandiendo sus tablas en la bbdd.
Sugerencias:
Estudiante:
Crear campo para subir su CV y que se guarde en la bbdd la ruta al CV.
Aptitudes (Ver issue relacionado con esto)
Experiencia
Titulos
Nota media
Idiomas
Otros datos de interés: Voluntariado, cursos...etc
Empresa:
Sector
Descripción
Numero empleados
-Comun: Subir avatar o foto personal
Sería una pantalla parecida al formulario de registro en el que se puedan modificar los datos personales, subir nueva documentación, cambiar el avatar...Tiene que cambiar para cada rol (Igual que en el registro).
Se puede reutilizar bastante código de FormularioRegistro para hacer FormularioAjustes
Se tiene que implementar un historial de páginas visitadas por peticiones Ajax de manera que cuando se de al enlace de "Anterior" se vuelva a la página previa y así sucesivamente.
Para esto se puede guardar un array en las sesión que vaya almacenando un "id" asignado a cada sección de cada portal.
Se necesitan crear clases para los siguientes modelos:
Estudiante.php
Administrador.php
Empresa.php (Estos 3 tienen que extender de la clase Usuario)
Demanda.php
Oferta.php
Para los atributos, se pueden sacar los que están creados en la BD. Los modelos tendrán metodos para conseguir información a través de los DAO's creados para cada uno.
Esta funcionalidad implica varios puntos, parecidos al de las ofertas y demandas
Crear tabla en BBDD
Crear ContratosDAO con los metodos correspondiente
La novedad en este punto surge en el portal estudiante. Si el estado aperece en un contrato que esté en curso, se dejará de mostrar el contenido de ofertas y se mostrará un mensaje del tipo "No puede ver las ofertas disponible. Usted tiene un contracto en vigor con la empresa tal..." Se puede mostrar información del contrato. Reutilizar el dialogo modal del administrador de contratos (ver issue)
En administrador y empresa, hacer algo parecido a con las ofertas y demandas y mostrar las tablas con los contratos clasificados y sus correspondientes dialogos modales (ver issue)
El buscador deberá de implementarse con función autocompletar. Una vez buscado mostrará una lista con los resultados. La lista en el caso de administrador mostrará estudiantes y empresas (en la lista se deberá mostrar de que tipo es). Cada elemento será un enlace que cargará la información del perfil seleccionado (reusar contenido pestaña perfil de cada rol (ver issue))
En el caso de los estudiantes solo se deberán mostrar las empresas y en el caso de las empresas solo los estudiantes.
Permitir que el usuario cuando se crea o se modifica en ajuste, pueda añadir las aptitudes que tiene. Esto se tendría que hacer mediante campos dinámicos. Añadir un campo aptitudes en el formulario que cuando comences a rellenarlo se autocomplete con la información que hay en la base de datos de las ya existentes y puedas seleccionarlo. Si no existe, puedas introducir tu el tuyo. Se mostraran 5 campos vacíos y si se desean mas un botón de añadir más aptitudes que cree nuevos campos. .
La empresa usaría esta misma funcionalidad para añadir que aptitudes quiere en su oferta de la misma manera que un estudiante puede poner sus aptitudes.
Crear una página principal que muestre la información general del portal, en que consiste, los servicios que tiene...Tiene que tener un pequeño formulario de login y un enlace al registro.
En oferta se debe aumentar el numero de campos para poder meter más información. Se deberá incluir las aptitudes asociadas a la oferta(ver issue relacionado con esto), se debe incluir los siguientes campos:
Descripcion: Aumentar el tamaño a longtext en la BBDD para aceptar grandes textos
Hay que implementar peticiones AJAX para cargar el contenido de manera asíncrona sin tener que recargar de nuevo toda la página. Las peticiones llamarán a métodos de cada portal cada vez que clicke en cada enlace del menu y substituirá el contenido que se encuentra dentro de
.
Por defecto, dashboard.php carga el método que crea el dashboard.
Se tiene que implementar un formulario de registro para los roles de Estudiante y Empresa (register.php) que permita crear nuevos usuarios con estos dos roles. Se mostrarán los campos apropiados dependiendo del rol seleccionado.
Esto aplica a Ofertas, Demandas y Contratos de todos los portales. En cada tabla que aparece en el portal, se debe poder clickar en cada fila y que se abra un dialogo modal que muestre la información ampliada de cada oferta, demanda o contrato. Se puede quizas implementar con herencia de tipo Modal.php y extender ofertaModal.php, demandaModal.php y contratoModal.php
Validar con jquery los campos antes de enviarlos. Aparte de lo común como email y contraseña, en estudiante hay que validar que la universidad existe en la bbdd (Ver issue relacionado con esto), y que en administrador, la universidad a la que se asocia NO existe en la base de datos
Se mostrará en la pestaña perfil de cada rol la información en la bbdd de cada perfil, formateada de la siguiente manera como idea:
4 botones (dependiendo de cada rol): Información personal, aptitudes, experiencia, curriculum. Cada vez que se pinchara en alguno de estos botones, mostrara la información correspondiente debajo. En empresa sería: Información general, descripción.
Los iconos del titlebar no se ven. No hace falta crear aun "settings.php" y "notifications.php". Si se tiene que linkar el botón de logout al método apropiado (Ya está implementado)
Mostrar el número resultante de la suma de todos los números que aparecen en los widgets del dashboard. Asociar el enlace de alerta al dashboard. Quitar el número una vez clickado
Se necesita implementar todos los métodos que generan contenido en todos los portales. Este issue depende directamente de que estén implementados los DAO's de acceso a la BD y de que los modelos estén creados.
Implementar la subida de imágenes para cambiar el avatar de forma SEGURA. Esto se podría hacer clickando en la imagen del menú lateral y abriendo un diálogo modal que diera la opción de subir imagen. Importante hacerlo de manera segura