Projecte Borsa de Treball

De Wiket
Salta a la navegació Salta a la cerca

Descripció del projecte

Es vol una aplicació web que permeti a les entitats ofertar feines de mà d’obra especialitzada i que responen als perfils dels cicles de FP impartits pels centres adherits.

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

  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 subscrits a una categoria podran rebre emails de les ofertes en forma de digest és a dir, un resum del dia.
  11. Els alumnes podran visualitzar les dades de l’empresa per a contactar-la.
  12. Els alumnes podran contactar amb les empreses mitjançant missatge intern de la borsa de treball per demanar detalls sense revelar la seva identitat.
  13. Els alumnes podran carregar el seu CV al seu perfil, però NO es publicarà per motiu de protecció de dades RGPD.
  14. 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.
  15. Les entitats podran rebre missatges dels alumnes que s’interesin per una oferta, i contestar-los per missatge intern.
  16. 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.
  17. Les ofertes de feina poden contenir imatges incrustades i arxius adjunts.
  18. 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.
  19. Els administradors poden desactivar alumnes o entitats (usuaris) que tinguin un comportament incorrecte en les seves publicacions o dades de perfil.
  20. L’usuari podrà accedir mitjançant autenticació externa de Google i Microsoft (OAuth).
  21. Quan un usuari es loga per primer cop haurà d'acceptar els termes d'ús i de privacitat de la borsa.
  22. Les entitats no podran mai veure dades dels alumnes.
  23. Les entitats podran visualitzar quants alumnes hi ha inscrits a cada cicle, i a cada categoria.
  24. 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).
  25. 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.)
  26. Els alumnes podran subscriure’s a aquestes etiquetes per veure i rebre les ofertes relacionades.
  27. Les categories/tags poden estar aniuades
  28. Les noves categories les hauran d’introduir els administradors.
  29. 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.
  30. 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
  31. Vista principal d'alumne: visualitzar ofertes i filtrar (per tag/categoria i territori)
  32. Vista perfil alumne: imatge, nickname, descripció, (igual que usuari) + afegim categories subscrites amb checkbox jeràrquic, collapsible i/o autocompletable.
  33. 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?

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