Wheely
Aquest és el meu projecte final i el primer projecte Full Stack, produït en el Bootcamp de Skylab. La idea neix d'una necessitat real en les autoescoles d'agilitzar la tasca de reserves de pràctiques. Tant alumne com professor poden fer la gestió 100% en línia, a més d'un seguiment de l'alumne, control de crèdits disponibles, etc.
Característiques
- Estudiants, professors i personal d'administració disposen de comptes amb funcionalitats diferents.
- Estudiant:
- Pot consultar i modificar les seves dades personals així com els crèdits dels que disposa.
- Pot reservar pràctiques amb qualsevol professor, dia i hora.
- Pot cancel·lar una reserva amb 24 hores d'antelació.
- Tant professor com alumne, reben un correu electrònic de confirmació amb cada reserva o cancel·lació de pràctica.
- Pot consultar les seves reserves pendents i les pràctiques realitzades.
- Pot considerar la seva progressió amb les valoracions dels professors.
- Compte per a proves: ana@ana.com // contrasenya: 123.
- Professor:
- Pot consultar i modificar les seves dades personals.
- Pot consultar i filtrar les seves reserves.
- Un cop finalitzada la pràctica, el professor emet una avaluació de l'alumne.
- Pot consultar però no modificar el seu horari de treball.
- Compte per a proves: toni@toni.com // contrasenya: 123.
- Administrador:
- Pot afegir, modificar, consultar i eliminar qualsevol usuari.
- Pot agregar crèdits als alumnes.
- Pot gestionar i editar l'horari laboral de cada professor.
- Pot accedir a totes les reserves realitzades.
- Pot veure la progressió de cadascun dels alumnes. Compte per a proves: admin@admin.com // contrasenya: 123.
Què he après
- A desenvolupar un back-end amb Node Express.
- A agrupar totes les rutes a un encaminador.
- A vincular una base de dades amb MongoDB i a esquematitzar-la amb Mongoose.
- A utilitzar React Hooks en el front-end.
- A efectuar TDD tests al back-end amb Mocha Chai i al front-end amb Jest.
- A enviar correus electrònics emprant la llibreria Nodemailer.
- A tractar reserves, cancel·lacions i calendaris a temps real amb Moment.
- A emular un servei de pagament amb crèdits.
- A mostrar un menú d'hamburguesa en dispositius mòbils.
- A connectar el front-end amb el back-end desplegats en producció.
- A redactar documentació tècnica i funcional.
- A complir amb el contracte, dates de lliurament (2 setmanes i mitja), manejar expectatives, control de l'estrès i priorització.
- A exposar el projecte en públic.
Tecnologies
- Front-end: React Hooks (JavaScript), CSS-SASS, Mocha Chai
- Back-end: Node amb Express, MongoDB, test amb Jest