Projecte Borsa de Treball
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
- Es vol una web accessible des d’un domini públic.
- La app ha de poder enviar emails.
- Cal fer un seeder amb dades d'exemple de centres, cicles i alumnes d'exemple per testejar les funcions.
- 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
- 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
- Els Centres Educatius poden assignar-se ells mateixos diversos cicles formatius (backend)
- 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).
- Vista de perfil d'usuari (frontend) per canviar imatge, descripció i el nickname (que ha de ser únic i sense espais).
- Les entitats poden publicar ofertes de feina destinades a un o diversos cicles i amb diverses categories/tags.
- Els alumnes o usuaris podran subscriure alertes d'ofertes de treball de diverses maneres. Les subscripcions seran del tipus:
- Pel centre al què està adscrit l'alumne
- Pel centre al què està adscrita l'empresa
- Per la categoria o categories interessades
- Pel cicle al què està adscrit l'alumne
- Per proximitat al centre educatiu
- Per proximitat a l'empresa
- Els alumnes subscrits a alerta podran rebre emails de les ofertes en forma de digest és a dir, un resum del dia.
- Els alumnes podran visualitzar les dades de l’empresa per a contactar-la.
- Els alumnes podran contactar amb les empreses mitjançant missatge intern de la borsa de treball per demanar detalls sense revelar la seva identitat.
- Els alumnes podran carregar el seu CV al seu perfil, però NO es publicarà per motiu de protecció de dades RGPD.
- 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.
- Les entitats podran rebre missatges dels alumnes que s’interesin per una oferta, i contestar-los per missatge intern.
- 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.
- Les ofertes de feina poden contenir imatges incrustades i arxius adjunts.
- 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.
- Els administradors poden desactivar alumnes o entitats (usuaris) que tinguin un comportament incorrecte en les seves publicacions o dades de perfil.
- L’usuari podrà accedir mitjançant autenticació externa de Google i Microsoft (OAuth).
- Quan un usuari es loga per primer cop haurà d'acceptar els termes d'ús i de privacitat de la borsa.
- Les entitats no podran mai veure dades dels alumnes.
- Les entitats podran visualitzar quants alumnes hi ha inscrits a cada cicle, i a cada categoria.
- 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).
- 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.)
- Els alumnes podran subscriure’s a aquestes etiquetes per veure i rebre les ofertes relacionades.
- Les categories/tags poden estar aniuades
- Les noves categories les hauran d’introduir els administradors.
- 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.
- 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
- Vista principal d'alumne: visualitzar ofertes i filtrar (per tag/categoria i territori)
- Vista perfil alumne: imatge, nickname, descripció, (igual que usuari) + afegim categories subscrites amb checkbox jeràrquic, collapsible i/o autocompletable.
- 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
SPRINTS
Sprint #1
- Es vol una web accessible des d’un domini públic.
- Cal fer un seeder amb dades d'exemple de centres, cicles i alumnes d'exemple per testejar les funcions.
- Login.(' L’usuari podrà accedir mitjançant autenticació externa de Google i Microsoft (OAuth).').
- Quan un usuari es loga per primer cop haurà d'acceptar els termes d'ús i de privacitat de la borsa.
- Frotend vista Alumne:
- Llistat ofertes.
- Filtres per aplicar(tag , data , localitat, categoria).
- FrontEnd Vista Alumne:
- Mis ofertas
- Paginació vista alumne.
- FrontEnd Vista Alumne:
- detall cada oferta en el llistat Clickable(data oferta, nom empresa, jornada,nom oferta,tags, categories, localitat).
- 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).
- FrontEnd NavBar:
- info si usuari esta logat, accés a perfil i logout.
- 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.
- Panel de control Entitat:
- Crear Oferta.
- Les meves Ofertes publicades.
- Crear tag(Afegir nou tag).
- Afegir alumne(només Centres Educatius).
- 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.
- Meves Ofertes Entitat:
- Visualitzar ofertes(igual que espec. 7).
- Dos botons amb modificar i eliminar al costat de cada oferta.
- clikable oferta
- Detall oferta de treball:
- Visualitzar tota la oferta.
- Estat de la oferta.
- Gent subscrita.
- Admins i centres poden donar d'alta usuaris simplement amb email.
- Els alumnes subscrits a una categoria podran rebre emails de les ofertes en forma de digest és a dir, un resum del dia.
- Crear comanda Django que envii els digest del dia (ofertes que li afecten)
- Programar el CRON diari per al digest (producció) i documentar el seu ús.
- 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.)