Projecte Borsa de Treball

De Wiket
Salta a la navegació Salta a la cerca

Descripció del projecte

En una primera fase (curs 2018-2019) s'ha pensat en una aplicació web que permeti a les entitats oferir feines de mà d’obra especialitzada i que responen als perfils dels cicles de FP impartits pels centres adherits.

En una segona fase (curs 2019-2020) s'ha pensat en ampliar la funcionalitat en diversos aspectes de gestió acadèmica dels centres i pels alumnes d'FP. Així hem passat al projecte de Portal Integral FP.

El repositori de codi està disponible a Github:

https://github.com/AWS2/BorsaDeTreball


Especificacions no funcionals

  • El projecte es realitzarà amb la tecnologia web Django (Python).
  • Es publicarà en un servidor (AWS) accessible per un domini públic (borsa.ieti.cat)
  • Es protegirà el servidor mitjançant un servei de proxy Cloudflare.


Backlog Fase 2 (curs 2019-2020)

  • millora interfície d'usuari borsa: visualització en el front-end
  • millora BD tests: empreses i ofertes
  • geolocalització usuari i ofertes: distància a l'empresa
  • nova secció de startups
  • nova secció de sol·licitud d'alumnes en dual
  • nova secció de control d'assistència


Backlog Fase 1 (curs 2020-2021)

  1. Es vol una web accessible des d’un domini públic.
  2. La app ha de poder enviar emails.
  3. Cal fer un seeder amb dades d'exemple de centres, cicles i alumnes d'exemple per testejar les funcions.
  4. La borsa ha de contemplar, al menys, els següents objectes:
    • Ofertes de feina
    • Demandes de feina
    • Entitats (ofertants)
    • Àrees territorials (comarques, SSTT?)
    • Centres Educatius
    • Cicles Formatius
    • Alumnes
    • Administradors
    • Categories
    • Missatges interns
  5. Els usuaris (grups/permisos) podran ser:
    • Entitats: poden crear ofertes
    • Centres: poden ofertar cicles i inscriure alumnes
    • Alumnes: poden visualitzar ofertes rellevants i contactar amb l’empresa
    • Administradors: poden gestionar categories, centres, cicles i gestionar les inscripcions d'alumnes en massa
  6. Els Centres Educatius poden assignar-se ells mateixos diversos cicles formatius (backend)
  7. Tots els usuaris tenen imatge de perfil/logo i un camp de descripció de la seva activitat (com a empresa o com a estudiant o com a centre).
  8. Vista de perfil d'usuari (frontend) per canviar imatge, descripció i el nickname (que ha de ser únic i sense espais).
  9. Les entitats poden publicar ofertes de feina destinades a un o diversos cicles i amb diverses categories/tags.
  10. Els alumnes o usuaris podran subscriure alertes d'ofertes de treball de diverses maneres. Les subscripcions seran del tipus:
    1. Pel centre al què està adscrit l'alumne
    2. Pel centre al què està adscrita l'empresa
    3. Per la categoria o categories interessades
    4. Pel cicle al què està adscrit l'alumne
    5. Per proximitat al centre educatiu
    6. Per proximitat a l'empresa
  11. Els alumnes poden crear tantes subscripcions com vuguin, i no estaran limitades pel cicle que hagin cursat.
  12. A l'inscriure un alumne es crearà una subscripció per defecte a les ofertes de treball del seu centre educatiu i el seu cicle cursat.
  13. Hi haurà un botó de "reset subscripcions" per esborrar totes les subscripcions creades i deixar només la "per defecte".
  14. Els alumnes subscrits a alerta podran rebre emails de les ofertes en forma de digest és a dir, un resum del dia.
  15. Els alumnes podran visualitzar les dades de l’empresa per a contactar-la.
  16. Els alumnes podran contactar amb les empreses mitjançant missatge intern de la borsa de treball per demanar detalls sense revelar la seva identitat.
  17. Els alumnes podran carregar el seu CV al seu perfil, però NO es publicarà per motiu de protecció de dades RGPD.
  18. Els alumnes poden mantenir el seu CV privat, i davant d’una oferta disposaran d’un botó “enviar CV” que respon automàticament a l’empresa enviant el CV. Caldrà avisar l’alumne que amb l’acció d’enviar CV l’empresa disposarà de les dades que ell hagi consignat en el document privat.
  19. Les entitats podran rebre missatges dels alumnes que s’interesin per una oferta, i contestar-los per missatge intern.
  20. Les ofertes de feina i els camps de descripció dels usuaris s’han de poder redactar amb text enriquit (HTML / WYSIWYG), tant a frontend com a backend.
  21. Les ofertes de feina poden contenir imatges incrustades i arxius adjunts.
  22. Els administradors de la borsa podran donar d’alta nous alumnes a través d’incloure la seva adreça de correu electrònic en el sistema.
  23. Els administradors poden desactivar alumnes o entitats (usuaris) que tinguin un comportament incorrecte en les seves publicacions o dades de perfil.
  24. L’usuari podrà accedir mitjançant autenticació externa de Google i Microsoft (OAuth).
  25. Quan un usuari es loga per primer cop haurà d'acceptar els termes d'ús i de privacitat de la borsa.
  26. Les entitats no podran mai veure dades dels alumnes.
  27. Les entitats podran visualitzar quants alumnes hi ha inscrits a cada cicle, i a cada categoria.
  28. Els cicles contindran informació de la formació realitzada (enllaços a plans d’estudi oficial, camps de personalització per a pla d’activitats de les FCT/DUAL o similars).
  29. A les ofertes de treball se li podrà adjuntar etiquetes (tags) per facilitar la classificació i filtratge (p.ex. Llenguatges de programació, programari, dispositius, tecnologies, coneixements particulars, acreditacions, certificacions, etc.)
  30. Els alumnes podran subscriure’s a aquestes etiquetes per veure i rebre les ofertes relacionades.
  31. Les categories/tags poden estar aniuades
  32. Les noves categories les hauran d’introduir els administradors.
  33. Les entitats i alumnes tindran un botó per suggerir una categoria, pero no es crearà immediatament, sinó que es notificarà als administradors per ser aprovada.
  34. Les entitats tindran un formulari per introduir les categories/tags amb funció d’autocompletar.
    Veure etiquetatge de stackoverflow per exemple: https://stackoverflow.com/questions/ask
  35. Vista principal d'alumne: visualitzar ofertes i filtrar (per tag/categoria i territori)
  36. Vista perfil alumne: imatge, nickname, descripció, (igual que usuari) + afegim categories subscrites amb checkbox jeràrquic, collapsible i/o autocompletable.
  37. Vista de missatges interns per "xat". L'usuari pot activar que quan se li escrigui missatge intern, se li envii un email amb el contingut del missatge. Els missatges interns quedaran registrats a l'aplicació per ser consultats a la vista.

Dubtes:

  • El nom i cognom dels alumnes el forcen els centres pq sigui real? Dona mes feina.
    • Alternativa: agafar nom i cognoms del OAuth Google/MS
  • Cal classificar els centres en comarques, SSTT, o tots dos?

Requeriments de permisos

Hi haurà aquests tipus d'usuari:

  1. professors
  2. alumnes
  3. administradors de borsa (un per centre)
  4. superadministrador

El comportament dels permisos ha de complir:

  1. Els administradors de centre poden:
    1. crear usuaris professors adscrits al centre
    2. crear usuaris alumnes adscrits al centre
    3. crear centres de treball adscrits
    4. cercar centres de treball (tots)
    5. visualitzar només els usuaris (professors, alumnes) del seu centre
  2. Els alumnes podran:
    1. veure les ofertes de treball



Equips

Formarem equips de treball per encarregar-se de parts diferents del projecte:

  • Model i BD
    • Crear model
    • Seeder: crear dades de test
  • Frontend
    • Disseny (CSS, aspecte)
    • Views (vista ofertes, filtres, perfil, ...)
  • Backend:
    • Càrrega arxius, CV, imatge perfil, logo
    • Admin, CSS, personalització de la visualització segons usuaris
  • Producció i desplegament
    • Desplegament en AWS amb Apache2
    • Enviament d'emails
    • Comandes per enviament de digest
  • PLUGIN Social login (OAuth Google i Microsfot)
    • Invitacions a alumnes i acceptació de termes d'ús de la web
    • Invitació d'usuaris i importació
  • PLUGIN WYSIWYG o Text enriquit (CKeditor, TinyMCE o similars)
    • backend
    • frontend
    • càrrega d'imatges des del propi editor
  • PLUGIN Select2 (autocompletar categories/tags)
    • frontend (filtre)
    • backend (afegir etiquetes als anuncis per part de les entitats)


Documentació: tots els equips documentaran a la wiki del projecte Github

SPRINTS

Sprint #1

  1. Es vol una web accessible des d’un domini públic.
  2. Cal fer un seeder amb dades d'exemple de centres, cicles i alumnes d'exemple per testejar les funcions.
  3. Login.(' L’usuari podrà accedir mitjançant autenticació externa de Google i Microsoft (OAuth).').
  4. Quan un usuari es loga per primer cop haurà d'acceptar els termes d'ús i de privacitat de la borsa.
  5. Frotend vista Alumne:
    • Llistat ofertes.
    • Filtres per aplicar(tag , data , localitat, categoria).
  6. FrontEnd Vista Alumne:
    • Mis ofertas
  7. Paginació vista alumne.
  8. FrontEnd Vista Alumne:
    • detall cada oferta en el llistat Clickable(data oferta, nom empresa, jornada,nom oferta,tags, categories, localitat).
  9. FrontEnd Vista Alumne:
    • Pagina Detall de la oferta( conté les dades de la especifiació 7 a més de la descripció, salari(Opcional), Gent subscrita,numero vacants, contactes, Boto seguir oferta i desubscribirse, les ofertes poden contenir imatges o archius adjunts).
  10. FrontEnd NavBar:
    • info si usuari esta logat, accés a perfil i logout.
  11. Vista perfil alumne:
    • Vista perfil alumne: imatge, nickname(modificable), descripció, (igual que usuari) + afegim categories subscrites amb checkbox jeràrquic, collapsible i/o autocompletable.
    • L'usuari pot activar que quan se li escrigui missatge intern, se li envii un email amb el contingut del missatge. Els missatges interns quedaran registrats a l'aplicació per ser consultats a la vista
    • Pujar CV.
    • Botó Guardar i Cancelar.
  12. Panel de control Entitat:
    • Crear Oferta.
    • Les meves Ofertes publicades.
    • Crear tag(Afegir nou tag).
    • Afegir alumne(només Centres Educatius).
  13. Crear oferta:
    • Form(conté les dades de la especifiació 7 a més de la descripció, salari(Opcional), Gent subscrita,numero vacants, contactes, Boto seguir oferta i desubscribirse, les ofertes poden contenir imatges o archius adjunts).
    • Les entitats tindran un formulari per introduir les categories/tags amb funció d’autocompletar.
  14. Meves Ofertes Entitat:
    • Visualitzar ofertes(igual que espec. 7).
    • Dos botons amb modificar i eliminar al costat de cada oferta.
    • clikable oferta
  15. Detall oferta de treball:
    • Visualitzar tota la oferta.
    • Estat de la oferta.
    • Gent subscrita.
  16. Admins i centres poden donar d'alta usuaris simplement amb email.
  17. Els alumnes subscrits a una categoria podran rebre emails de les ofertes en forma de digest és a dir, un resum del dia.
  18. Crear comanda Django que envii els digest del dia (ofertes que li afecten)
  19. Programar el CRON diari per al digest (producció) i documentar el seu ús.
  20. Tots els usuaris tenen:
    • imatge de perfil/logo
    • camp de descripció/presentació de la seva activitat (com a empresa o com a estudiant o com a centre)
    • Arxiu adjunt (CV, tríptic, etc.)