Skip to content

Commit a3c3203

Browse files
NiconiKimgFrasquito3github-actions[bot]carlex74LucaTvl
authored
Release: Versión 1.0.2 (#192)
* Add workflow to automate Pull Requests * fix: Correct workflow directory name * fix: Add checkout code and change the creation pull request code * Boilerplate Creation (#8) Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * PR: Merge feature/login-register into develop (#9) * Folder structuring + creating login and register pages The project folders were structured and the Login and Register pages were successfully created (the focus was on functionality, but still nothing visually appealing). * Visually pleasing login and register The layouts folder was also added, where the MainLayout and AuthLayout were created. Based on that, the App.tsx and AppRoutes.tsx files were changed. --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * Added Tailwind to the project. (#10) Modified LoginPage.tsx and RegisterPage.tsx to start using Tailwind, and began implementing reusable React components. Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * ref: update readme with git flow info (#11) * PR: Merge feature/landing-page into develop (#12) * wip: added landing page with minimal changes to Tailwind settings * wip: deleted unnecessary comments --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * feat: Setup Code Quality Pipeline with CI workflow (#15) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * fix(ci): Align CI workflow to use pnpm (#18) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * fix(ci): Read pnpm version from package.json (#19) * ref:change-styles-from-login-and-register * feat(ui): Replace the Hero image with a 3d interactive model (#22) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * fix: handling of tokens received from the backend (#25) Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * feat: navBar-Logged V1.0 * Refactor: Unify and Stabilize Authentication System (#29) * refactor(auth): implement token-only flow and unify session management * fix(auth): resolve user state update and unify response handling * chore(deps): remove unused fontawesome dependencies * feat: Professor Application Page * /feature/Course-List-Page-Prototype * Implentation of the appeal logic Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> * feat(ci): Add workflow to auto-add new issues to project (#36) * chore(workflow): add automated issue templates (#38) * feat: Update issue templates (#39) Creación de la plantilla de reporte bugs. * chore: Changed the Feature and Bug templates. (#40) Deleted the new bug report template and updated the previous to start working. * fix(layout): prevent auth form overlapping header on low-height viewports (#42) * feat(ui): implement responsive design for existing views (#44) * Fix/ci workflow and triggers (#46) * fix(deps): Remove unused package causing security vulnerability * chore(ci): Remove automatic pull request creation workflow * chore(workflow): Add automatic pull request template (#48) * fix: Update issue templates (#49) * feat(admin): implement complete admin panel UI (#52) * feat(admin): implement in-app document viewer for professor applications (#54) * Feature/Implementation of the professor dashboard (#58) * feat(ui): Implementación del dashboard del profesor * fix: fixed a problem with the versions of the dependencies in package.json * refactor: Unificar AdminLayout en NavBar para una Navegación Consistente (#59) * refactor(admin): Unify AdminLayout in the NavBar component * fix(admin): Remove bell in admin views * feat(admin): Allow management of Course Types from the admin panel * refactor: eliminate loguin requeriment on link course (#64) * feat: Mejorar la estructura del layout y el scroll de navegación (#66) * feat: add ScrollToTop component to improve navigation experience and relocated Footer to MainLayout * fix: Fixed the problems with the merge. --------- Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> * fix(admin): Mejorar la responsividad y consistencia visual del Panel de Admin y Layouts (#69) * fix(admin): Improve responsiveness of the Admin Panel and Layouts * fix(admin): Resolve modal stacking context issues with portals * Feature: Flujo de recuperacion de contraseña (#70) * feat: Initial version of the password recovery flow * fix: Changed the way to keep the user out of rest-password without the token * fix: Problems with GitHub Actions * fix: Add missing dependency to useEffect in ResetPasswordPage --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * refactor(data): migrate server state management to TanStack Query Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor(data): add @tanstack/react-query-devtools to test Also we added some time in the staleTime to see the state "fresh" Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor(forms): Migrate all forms to React Hook Form and Valibot Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor:button-ui (#76) * refactor:button-ui * chore(): install clsx and tailwind-merge for styles * feat(ui): create flexible and robust Button component * refactor(auth): standardize form buttons with new Button API * refactor(ui): apply Button standard to NavBar and HeroSection * fix(ui): correct Dialog close button and admin button sizes * refactor(ui): standardize miscellaneous remaining buttons * fix(ui): standardize password toggle botton usage * docs(): add button documentation JSDoc --------- Co-authored-by: LucaTvl <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * chore(project): standardize UI folder structure (#91) * Feat: Crear y Aplicar Utilidad 'cn' para Composición de Clases (#92) * feat(lib): create cn class composition utility * refactor(): apply cn class composition utility in Button component * refactor(ui): enhance Label component with cn and forwardRef (#93) * feat: Implementacion de API service, hooks y tipos para la gestión de Cursos (#100) * feat(types): align course entities with backend models Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * feat(api): create course service for CRUD operations Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * feat(hooks): implement TanStack Query hooks for courses Also changed de ProfessorCoursesPage to see the course of the professor insted of static courses Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> --------- Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor:refactor navbar v1 (#94) * refactor:refactor navbar v1 * refactor: navbar itv1.1 * refactor: navBar it1v1.2 * reactor: navBarit1 v1.3 * feat:Star course creation page * feat: Finished the course creation structure * feat(professor): enable navigation to course creation pag Also fixed empty interface linting error in Switch component * feat: courseCreation-continue & start-unit-creation * feat: Modified ProfessorCourseEdition and implemented ProfessorCourseCreation vinculation Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> * feat(professor): Implements course creation from the professor view * fix(components): solved conflicts in some components * Feature/course content management (#102) * feat:initial config of editor * create-unit-service * feat:try-to-custom-side-menu * fix: Modals open correctly * feat: Added the upload for material and fixed the problem with the units Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> * feat: Course changes are applied to the database * feat:stanting-activity-edition * refactor: Added a general button to save changes in the Edit view. Changed data made in the configuration modal is no longer sent there, the general button is used instead. * refactor: Modified the material modal Now have the option to put individual names on each uploaded file * fix: Local data saving when canceling in the configuration modal * feat:adapt to send courses units * feat: Send everything to the back * feat: The ProfessorCourseEdition page fetchs all the data from the back * fix: Deleted unused entities and functions --------- Co-authored-by: carlex74 <r.icardogugliermino@gmail.com> Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * refactor(ui): Refactor Badge component for reusability and variants (#106) * refactor(ui): Enhance Button component with professional JSDoc (#107) * refactor(ui): Refactor Input component with cn utility and JSDoc (#108) * refactor(ui): Refactor Textarea component for reusability and form integration (#109) * refactor(ui): Refactor Select component for consistency and form integration (#110) * refactor(ui): Standardize Card component system with cn, ref, and JSDoc * refactor(ui): Integrate CardList component with standard Card system * fix(vulnerabilities): Updated axios and vite * feat(profile): Add user profile view and edit functionality * feat: get-courses-from-db * Minor changues * Refactor: modulize editor course page (#125) * wip: reorder editor page componente * feat: add question crud service and hooks * feat: add question editor modal component * feat: add question list and crud actions to unit content * feat: replace edit button with view/edit mode switch * feat: integrate edit mode toggle and question management * feat: add dynamic course status badges and data * refactor: improve dialog styling and unit editor ui * refactor: update api services and auth context * style: update global styles * refactor: update course sidebar component * Feature/course detail page (#126) * add getById function and CourseDetail page * coding UI of courseDetails page * feat: add-course-details * Feature: sistema de evaluaciones (#127) * feat: add assessment type definitions and interfaces * feat: implement assessment API service layer * feat: add React Query hooks for assessment management * feat: add assessments listing page for professors * feat: add assessment editor for create and update * feat: add assessment attempts review page * feat: create unified QuestionForm component * feat: add QuestionSelector component with search and create * refactor: update QuestionEditor to use unified QuestionForm * feat: add assessment routes to app router * feat: add bidirectional navigation between courses and assessments * style: remove legacy commented code from course edition * feat: add general questions service and hooks * fix: support general questions in assessment selector * feat: add general questions manager component * feat: integrate general questions manager in course editor * fix: remove unnecessary unit validation in question form * feat: improve general questions UI with expandable design * feat: implement instructor profile institutional flow (UI) (#129) * Refactor: Stablished the appeals page to support pagination and filters (#123) * refactor: Stablished the appeals page to support pagination and filters * feat: enhance course search functionality with filters and pagination feat: add CoursePreviewCard component for course previews refactor: update CourseListPage to include search and filter options fix: improve search parameter handling in shared types * feat: Implement infinite scroll for courses and pagination for appeals --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * Feature/course enroll button (#130) * initial enrrollment logic * feat: enrollment courses --------- Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor: appeal validation (#131) * refactor: Modified the landing page (#132) * refactor: Modified the landing page * refactor: Modified the landing page * Feature/assessment and learning system (#133) * feat: add assessment system pages * feat: add student learning components * feat: add my learning page * feat: add error boundary component * feat: update types for assessment system * feat: add assessment and question services * feat: add assessment hooks * feat: update enrollment service and hooks * feat: add routes for assessment and learning * feat: update navbar for professors * refactor: clean course details logic * feat: update course learn page * refactor: update ui components * feat: update professor and course pages * feat: implement full payment and post-payment user flow * fix: Resolve merge conflicts * fix: Resolve navigation problems * feat: Implement Full Assessment and Reporting System * fix: fixed bugs related to the course cards. Added vinculation with backend for ProfessorDashboard. Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> * fix: Delete some comments * refactor: course-institutions and description units (#138) * Refactor/improve payment uxui (#137) * refactor: improve some details in payment * feat: add HTTPS support to development server - Add vite-plugin-mkcert for automatic SSL certificate generation - Enable HTTPS on port 5173 - Configure development server with secure connections --------- Co-authored-by: Luca Trincavelli <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: Luca Trincavelli <ltrincavell@frro.utn.edu.ar> * fix: fixes (#139) * fix: fixes * fix: fixes * Feature/analytics integration (#140) * feat: add admin analytics service and hook * feat: update professor analytics hook with backend structure * feat: integrate professor analytics page with backend data * feat: integrate admin dashboard with real-time analytics * feat: implement comprehensive analytics page with charts and rankings * feat: Added protection to the routes (#141) * feat: Implementacion de filtrado y paginacion de Appeals y CourseTypes (#142) * feat: Refactor Appeals page to use server-side filtering and pagination * fix: Prevent crash on professor courses page with undefined price * fix: fixed the modal for editing course (#143) * Feat/improve course filters (#144) * feat:improve filters options * feat: add professor-filters and Links with filters --------- Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * Refactor: visual details deadline (#145) * feat: add new basic pages, faq, about us and contact * fix: fixed the filter params --------- Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * bugfix: improve questions endpoints (#146) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * feat: Agregado la pestaña del historial de apelaciones de estudiantes al perfil y arreglar la barra de navegación móvil (#147) * feat: add student appeals history tab to profile and fix mobile navbar * bugfix: fix vulnerabilities * feat: Configuracion de vitest y cypress con pruebas unitarias y e2e iniciales (#148) * feat: Setup vitest and cypress with initial unit and e2e tests * bugfix: fix problems * feat: Implemented react-hot-toast (#149) * feat: Implemented react-hot-toast * feat: Implemented react-hot-toast * fix: fixed the failed test * feat: Implemented more notifications with react-hot-toast * feat: Implemented the remaining notifications (#150) * fix: Resolución de problemas de redirección de aplicaciones del profesor y de desbordamiento de texto modal (#151) * fix: resolve professor application redirection and modal text overflow issues * fix: Delete some comments * Feat: Implementar sistema de mails (#152) * feat: modificate pages * feat: complete modules * feat: Added feedback with react-hot-toast --------- Co-authored-by: LucaTvl <ltrincavell@frro.utn.edu.ar> * feat:install storybook and example (#153) * refactor: Implemented Lazy loading in AppRouter and HeroSection (#155) Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> * Feature/components doc (#154) * feat:documentation-badge-cardlist-documentpreviewer * feat:badgeDoc * feat:documentComponents * feat: Integración de refresh token y manejo de sesiones (#156) * feat: Implement silent refresh interceptor and fix course pricing * fix: Ngrok redirection problems * fix: Problems with refresh token * fix: Update error handling and improve course institution references (#157) Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> * fear:install knip and delete unused files (#158) Co-authored-by: carlex <ricardogugliermino@gmail.com> * refactor:delete unused exports (#159) Co-authored-by: carlex <ricardogugliermino@gmail.com> * fix: Resolve build problems for deployment (#161) * fix: Resolucion de conflictos de Merge con main (#163) * Add workflow to automate Pull Requests (#1) * Feat: primer paso a produccion (#160) * Add workflow to automate Pull Requests * fix: Correct workflow directory name * fix: Add checkout code and change the creation pull request code * Boilerplate Creation (#8) Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * PR: Merge feature/login-register into develop (#9) * Folder structuring + creating login and register pages The project folders were structured and the Login and Register pages were successfully created (the focus was on functionality, but still nothing visually appealing). * Visually pleasing login and register The layouts folder was also added, where the MainLayout and AuthLayout were created. Based on that, the App.tsx and AppRoutes.tsx files were changed. --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * Added Tailwind to the project. (#10) Modified LoginPage.tsx and RegisterPage.tsx to start using Tailwind, and began implementing reusable React components. Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * ref: update readme with git flow info (#11) * PR: Merge feature/landing-page into develop (#12) * wip: added landing page with minimal changes to Tailwind settings * wip: deleted unnecessary comments --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * feat: Setup Code Quality Pipeline with CI workflow (#15) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * fix(ci): Align CI workflow to use pnpm (#18) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * fix(ci): Read pnpm version from package.json (#19) * ref:change-styles-from-login-and-register * feat(ui): Replace the Hero image with a 3d interactive model (#22) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * fix: handling of tokens received from the backend (#25) Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * feat: navBar-Logged V1.0 * Refactor: Unify and Stabilize Authentication System (#29) * refactor(auth): implement token-only flow and unify session management * fix(auth): resolve user state update and unify response handling * chore(deps): remove unused fontawesome dependencies * feat: Professor Application Page * /feature/Course-List-Page-Prototype * Implentation of the appeal logic Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> * feat(ci): Add workflow to auto-add new issues to project (#36) * chore(workflow): add automated issue templates (#38) * feat: Update issue templates (#39) Creación de la plantilla de reporte bugs. * chore: Changed the Feature and Bug templates. (#40) Deleted the new bug report template and updated the previous to start working. * fix(layout): prevent auth form overlapping header on low-height viewports (#42) * feat(ui): implement responsive design for existing views (#44) * Fix/ci workflow and triggers (#46) * fix(deps): Remove unused package causing security vulnerability * chore(ci): Remove automatic pull request creation workflow * chore(workflow): Add automatic pull request template (#48) * fix: Update issue templates (#49) * feat(admin): implement complete admin panel UI (#52) * feat(admin): implement in-app document viewer for professor applications (#54) * Feature/Implementation of the professor dashboard (#58) * feat(ui): Implementación del dashboard del profesor * fix: fixed a problem with the versions of the dependencies in package.json * refactor: Unificar AdminLayout en NavBar para una Navegación Consistente (#59) * refactor(admin): Unify AdminLayout in the NavBar component * fix(admin): Remove bell in admin views * feat(admin): Allow management of Course Types from the admin panel * refactor: eliminate loguin requeriment on link course (#64) * feat: Mejorar la estructura del layout y el scroll de navegación (#66) * feat: add ScrollToTop component to improve navigation experience and relocated Footer to MainLayout * fix: Fixed the problems with the merge. --------- Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> * fix(admin): Mejorar la responsividad y consistencia visual del Panel de Admin y Layouts (#69) * fix(admin): Improve responsiveness of the Admin Panel and Layouts * fix(admin): Resolve modal stacking context issues with portals * Feature: Flujo de recuperacion de contraseña (#70) * feat: Initial version of the password recovery flow * fix: Changed the way to keep the user out of rest-password without the token * fix: Problems with GitHub Actions * fix: Add missing dependency to useEffect in ResetPasswordPage --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * refactor(data): migrate server state management to TanStack Query Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor(data): add @tanstack/react-query-devtools to test Also we added some time in the staleTime to see the state "fresh" Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor(forms): Migrate all forms to React Hook Form and Valibot Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor:button-ui (#76) * refactor:button-ui * chore(): install clsx and tailwind-merge for styles * feat(ui): create flexible and robust Button component * refactor(auth): standardize form buttons with new Button API * refactor(ui): apply Button standard to NavBar and HeroSection * fix(ui): correct Dialog close button and admin button sizes * refactor(ui): standardize miscellaneous remaining buttons * fix(ui): standardize password toggle botton usage * docs(): add button documentation JSDoc --------- Co-authored-by: LucaTvl <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * chore(project): standardize UI folder structure (#91) * Feat: Crear y Aplicar Utilidad 'cn' para Composición de Clases (#92) * feat(lib): create cn class composition utility * refactor(): apply cn class composition utility in Button component * refactor(ui): enhance Label component with cn and forwardRef (#93) * feat: Implementacion de API service, hooks y tipos para la gestión de Cursos (#100) * feat(types): align course entities with backend models Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * feat(api): create course service for CRUD operations Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * feat(hooks): implement TanStack Query hooks for courses Also changed de ProfessorCoursesPage to see the course of the professor insted of static courses Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> --------- Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor:refactor navbar v1 (#94) * refactor:refactor navbar v1 * refactor: navbar itv1.1 * refactor: navBar it1v1.2 * reactor: navBarit1 v1.3 * feat:Star course creation page * feat: Finished the course creation structure * feat(professor): enable navigation to course creation pag Also fixed empty interface linting error in Switch component * feat: courseCreation-continue & start-unit-creation * feat: Modified ProfessorCourseEdition and implemented ProfessorCourseCreation vinculation Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> * feat(professor): Implements course creation from the professor view * fix(components): solved conflicts in some components * Feature/course content management (#102) * feat:initial config of editor * create-unit-service * feat:try-to-custom-side-menu * fix: Modals open correctly * feat: Added the upload for material and fixed the problem with the units Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> * feat: Course changes are applied to the database * feat:stanting-activity-edition * refactor: Added a general button to save changes in the Edit view. Changed data made in the configuration modal is no longer sent there, the general button is used instead. * refactor: Modified the material modal Now have the option to put individual names on each uploaded file * fix: Local data saving when canceling in the configuration modal * feat:adapt to send courses units * feat: Send everything to the back * feat: The ProfessorCourseEdition page fetchs all the data from the back * fix: Deleted unused entities and functions --------- Co-authored-by: carlex74 <r.icardogugliermino@gmail.com> Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * refactor(ui): Refactor Badge component for reusability and variants (#106) * refactor(ui): Enhance Button component with professional JSDoc (#107) * refactor(ui): Refactor Input component with cn utility and JSDoc (#108) * refactor(ui): Refactor Textarea component for reusability and form integration (#109) * refactor(ui): Refactor Select component for consistency and form integration (#110) * refactor(ui): Standardize Card component system with cn, ref, and JSDoc * refactor(ui): Integrate CardList component with standard Card system * fix(vulnerabilities): Updated axios and vite * feat(profile): Add user profile view and edit functionality * feat: get-courses-from-db * Minor changues * Refactor: modulize editor course page (#125) * wip: reorder editor page componente * feat: add question crud service and hooks * feat: add question editor modal component * feat: add question list and crud actions to unit content * feat: replace edit button with view/edit mode switch * feat: integrate edit mode toggle and question management * feat: add dynamic course status badges and data * refactor: improve dialog styling and unit editor ui * refactor: update api services and auth context * style: update global styles * refactor: update course sidebar component * Feature/course detail page (#126) * add getById function and CourseDetail page * coding UI of courseDetails page * feat: add-course-details * Feature: sistema de evaluaciones (#127) * feat: add assessment type definitions and interfaces * feat: implement assessment API service layer * feat: add React Query hooks for assessment management * feat: add assessments listing page for professors * feat: add assessment editor for create and update * feat: add assessment attempts review page * feat: create unified QuestionForm component * feat: add QuestionSelector component with search and create * refactor: update QuestionEditor to use unified QuestionForm * feat: add assessment routes to app router * feat: add bidirectional navigation between courses and assessments * style: remove legacy commented code from course edition * feat: add general questions service and hooks * fix: support general questions in assessment selector * feat: add general questions manager component * feat: integrate general questions manager in course editor * fix: remove unnecessary unit validation in question form * feat: improve general questions UI with expandable design * feat: implement instructor profile institutional flow (UI) (#129) * Refactor: Stablished the appeals page to support pagination and filters (#123) * refactor: Stablished the appeals page to support pagination and filters * feat: enhance course search functionality with filters and pagination feat: add CoursePreviewCard component for course previews refactor: update CourseListPage to include search and filter options fix: improve search parameter handling in shared types * feat: Implement infinite scroll for courses and pagination for appeals --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * Feature/course enroll button (#130) * initial enrrollment logic * feat: enrollment courses --------- Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor: appeal validation (#131) * refactor: Modified the landing page (#132) * refactor: Modified the landing page * refactor: Modified the landing page * Feature/assessment and learning system (#133) * feat: add assessment system pages * feat: add student learning components * feat: add my learning page * feat: add error boundary component * feat: update types for assessment system * feat: add assessment and question services * feat: add assessment hooks * feat: update enrollment service and hooks * feat: add routes for assessment and learning * feat: update navbar for professors * refactor: clean course details logic * feat: update course learn page * refactor: update ui components * feat: update professor and course pages * feat: implement full payment and post-payment user flow * fix: Resolve merge conflicts * fix: Resolve navigation problems * feat: Implement Full Assessment and Reporting System * fix: fixed bugs related to the course cards. Added vinculation with backend for ProfessorDashboard. Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> * fix: Delete some comments * refactor: course-institutions and description units (#138) * Refactor/improve payment uxui (#137) * refactor: improve some details in payment * feat: add HTTPS support to development server - Add vite-plugin-mkcert for automatic SSL certificate generation - Enable HTTPS on port 5173 - Configure development server with secure connections --------- Co-authored-by: Luca Trincavelli <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: Luca Trincavelli <ltrincavell@frro.utn.edu.ar> * fix: fixes (#139) * fix: fixes * fix: fixes * Feature/analytics integration (#140) * feat: add admin analytics service and hook * feat: update professor analytics hook with backend structure * feat: integrate professor analytics page with backend data * feat: integrate admin dashboard with real-time analytics * feat: implement comprehensive analytics page with charts and rankings * feat: Added protection to the routes (#141) * feat: Implementacion de filtrado y paginacion de Appeals y CourseTypes (#142) * feat: Refactor Appeals page to use server-side filtering and pagination * fix: Prevent crash on professor courses page with undefined price * fix: fixed the modal for editing course (#143) * Feat/improve course filters (#144) * feat:improve filters options * feat: add professor-filters and Links with filters --------- Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * Refactor: visual details deadline (#145) * feat: add new basic pages, faq, about us and contact * fix: fixed the filter params --------- Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * bugfix: improve questions endpoints (#146) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * feat: Agregado la pestaña del historial de apelaciones de estudiantes al perfil y arreglar la barra de navegación móvil (#147) * feat: add student appeals history tab to profile and fix mobile navbar * bugfix: fix vulnerabilities * feat: Configuracion de vitest y cypress con pruebas unitarias y e2e iniciales (#148) * feat: Setup vitest and cypress with initial unit and e2e tests * bugfix: fix problems * feat: Implemented react-hot-toast (#149) * feat: Implemented react-hot-toast * feat: Implemented react-hot-toast * fix: fixed the failed test * feat: Implemented more notifications with react-hot-toast * feat: Implemented the remaining notifications (#150) * fix: Resolución de problemas de redirección de aplicaciones del profesor y de desbordamiento de texto modal (#151) * fix: resolve professor application redirection and modal text overflow issues * fix: Delete some comments * Feat: Implementar sistema de mails (#152) * feat: modificate pages * feat: complete modules * feat: Added feedback with react-hot-toast --------- Co-authored-by: LucaTvl <ltrincavell@frro.utn.edu.ar> * feat:install storybook and example (#153) * refactor: Implemented Lazy loading in AppRouter and HeroSection (#155) Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> * Feature/components doc (#154) * feat:documentation-badge-cardlist-documentpreviewer * feat:badgeDoc * feat:documentComponents * feat: Integración de refresh token y manejo de sesiones (#156) * feat: Implement silent refresh interceptor and fix course pricing * fix: Ngrok redirection problems * fix: Problems with refresh token * fix: Update error handling and improve course institution references (#157) Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> * fear:install knip and delete unused files (#158) Co-authored-by: carlex <ricardogugliermino@gmail.com> * refactor:delete unused exports (#159) Co-authored-by: carlex <ricardogugliermino@gmail.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> Co-authored-by: carlex74 <r.icardogugliermino@gmail.com> Co-authored-by: LucaTvl <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: LucaTvl <ltrincavell@frro.utn.edu.ar> Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> Co-authored-by: carlex <ricardogugliermino@gmail.com> * fix: Delete old workflow --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> Co-authored-by: carlex74 <r.icardogugliermino@gmail.com> Co-authored-by: LucaTvl <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: LucaTvl <ltrincavell@frro.utn.edu.ar> Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> Co-authored-by: carlex <ricardogugliermino@gmail.com> * Fix: Resolución de conflictos (#164) (#165) * Add workflow to automate Pull Requests * fix: Correct workflow directory name * fix: Add checkout code and change the creation pull request code * Boilerplate Creation (#8) * PR: Merge feature/login-register into develop (#9) * Folder structuring + creating login and register pages The project folders were structured and the Login and Register pages were successfully created (the focus was on functionality, but still nothing visually appealing). * Visually pleasing login and register The layouts folder was also added, where the MainLayout and AuthLayout were created. Based on that, the App.tsx and AppRoutes.tsx files were changed. --------- * Added Tailwind to the project. (#10) Modified LoginPage.tsx and RegisterPage.tsx to start using Tailwind, and began implementing reusable React components. * ref: update readme with git flow info (#11) * PR: Merge feature/landing-page into develop (#12) * wip: added landing page with minimal changes to Tailwind settings * wip: deleted unnecessary comments --------- * feat: Setup Code Quality Pipeline with CI workflow (#15) * fix(ci): Align CI workflow to use pnpm (#18) * fix(ci): Read pnpm version from package.json (#19) * ref:change-styles-from-login-and-register * feat(ui): Replace the Hero image with a 3d interactive model (#22) * fix: handling of tokens received from the backend (#25) * feat: navBar-Logged V1.0 * Refactor: Unify and Stabilize Authentication System (#29) * refactor(auth): implement token-only flow and unify session management * fix(auth): resolve user state update and unify response handling * chore(deps): remove unused fontawesome dependencies * feat: Professor Application Page * /feature/Course-List-Page-Prototype * Implentation of the appeal logic * feat(ci): Add workflow to auto-add new issues to project (#36) * chore(workflow): add automated issue templates (#38) * feat: Update issue templates (#39) Creación de la plantilla de reporte bugs. * chore: Changed the Feature and Bug templates. (#40) Deleted the new bug report template and updated the previous to start working. * fix(layout): prevent auth form overlapping header on low-height viewports (#42) * feat(ui): implement responsive design for existing views (#44) * Fix/ci workflow and triggers (#46) * fix(deps): Remove unused package causing security vulnerability * chore(ci): Remove automatic pull request creation workflow * chore(workflow): Add automatic pull request template (#48) * fix: Update issue templates (#49) * feat(admin): implement complete admin panel UI (#52) * feat(admin): implement in-app document viewer for professor applications (#54) * Feature/Implementation of the professor dashboard (#58) * feat(ui): Implementación del dashboard del profesor * fix: fixed a problem with the versions of the dependencies in package.json * refactor: Unificar AdminLayout en NavBar para una Navegación Consistente (#59) * refactor(admin): Unify AdminLayout in the NavBar component * fix(admin): Remove bell in admin views * feat(admin): Allow management of Course Types from the admin panel * refactor: eliminate loguin requeriment on link course (#64) * feat: Mejorar la estructura del layout y el scroll de navegación (#66) * feat: add ScrollToTop component to improve navigation experience and relocated Footer to MainLayout * fix: Fixed the problems with the merge. --------- * fix(admin): Mejorar la responsividad y consistencia visual del Panel de Admin y Layouts (#69) * fix(admin): Improve responsiveness of the Admin Panel and Layouts * fix(admin): Resolve modal stacking context issues with portals * Feature: Flujo de recuperacion de contraseña (#70) * feat: Initial version of the password recovery flow * fix: Changed the way to keep the user out of rest-password without the token * fix: Problems with GitHub Actions * fix: Add missing dependency to useEffect in ResetPasswordPage --------- * refactor(data): migrate server state management to TanStack Query * refactor(data): add @tanstack/react-query-devtools to test Also we added some time in the staleTime to see the state "fresh" * refactor(forms): Migrate all forms to React Hook Form and Valibot * refactor:button-ui (#76) * refactor:button-ui * chore(): install clsx and tailwind-merge for styles * feat(ui): create flexible and robust Button component * refactor(auth): standardize form buttons with new Button API * refactor(ui): apply Button standard to NavBar and HeroSection * fix(ui): correct Dialog close button and admin button sizes * refactor(ui): standardize miscellaneous remaining buttons * fix(ui): standardize password toggle botton usage * docs(): add button documentation JSDoc --------- * chore(project): standardize UI folder structure (#91) * Feat: Crear y Aplicar Utilidad 'cn' para Composición de Clases (#92) * feat(lib): create cn class composition utility * refactor(): apply cn class composition utility in Button component * refactor(ui): enhance Label component with cn and forwardRef (#93) * feat: Implementacion de API service, hooks y tipos para la gestión de Cursos (#100) * feat(types): align course entities with backend models * feat(api): create course service for CRUD operations * feat(hooks): implement TanStack Query hooks for courses Also changed de ProfessorCoursesPage to see the course of the professor insted of static courses --------- * refactor:refactor navbar v1 (#94) * refactor:refactor navbar v1 * refactor: navbar itv1.1 * refactor: navBar it1v1.2 * reactor: navBarit1 v1.3 * feat:Star course creation page * feat: Finished the course creation structure * feat(professor): enable navigation to course creation pag Also fixed empty interface linting error in Switch component * feat: courseCreation-continue & start-unit-creation * feat: Modified ProfessorCourseEdition and implemented ProfessorCourseCreation vinculation * feat(professor): Implements course creation from the professor view * fix(components): solved conflicts in some components * Feature/course content management (#102) * feat:initial config of editor * create-unit-service * feat:try-to-custom-side-menu * fix: Modals open correctly * feat: Added the upload for material and fixed the problem with the units * feat: Course changes are applied to the database * feat:stanting-activity-edition * refactor: Added a general button to save changes in the Edit view. Changed data made in the configuration modal is no longer sent there, the general button is used instead. * refactor: Modified the material modal Now have the option to put individual names on each uploaded file * fix: Local data saving when canceling in the configuration modal * feat:adapt to send courses units * feat: Send everything to the back * feat: The ProfessorCourseEdition page fetchs all the data from the back * fix: Deleted unused entities and functions --------- * refactor(ui): Refactor Badge component for reusability and variants (#106) * refactor(ui): Enhance Button component with professional JSDoc (#107) * refactor(ui): Refactor Input component with cn utility and JSDoc (#108) * refactor(ui): Refactor Textarea component for reusability and form integration (#109) * refactor(ui): Refactor Select component for consistency and form integration (#110) * refactor(ui): Standardize Card component system with cn, ref, and JSDoc * refactor(ui): Integrate CardList component with standard Card system * fix(vulnerabilities): Updated axios and vite * feat(profile): Add user profile view and edit functionality * feat: get-courses-from-db * Minor changues * Refactor: modulize editor course page (#125) * wip: reorder editor page componente * feat: add question crud service and hooks * feat: add question editor modal component * feat: add question list and crud actions to unit content * feat: replace edit button with view/edit mode switch * feat: integrate edit mode toggle and question management * feat: add dynamic course status badges and data * refactor: improve dialog styling and unit editor ui * refactor: update api services and auth context * style: update global styles * refactor: update course sidebar component * Feature/course detail page (#126) * add getById function and CourseDetail page * coding UI of courseDetails page * feat: add-course-details * Feature: sistema de evaluaciones (#127) * feat: add assessment type definitions and interfaces * feat: implement assessment API service layer * feat: add React Query hooks for assessment management * feat: add assessments listing page for professors * feat: add assessment editor for create and update * feat: add assessment attempts review page * feat: create unified QuestionForm component * feat: add QuestionSelector component with search and create * refactor: update QuestionEditor to use unified QuestionForm * feat: add assessment routes to app router * feat: add bidirectional navigation between courses and assessments * style: remove legacy commented code from course edition * feat: add general questions service and hooks * fix: support general questions in assessment selector * feat: add general questions manager component * feat: integrate general questions manager in course editor * fix: remove unnecessary unit validation in question form * feat: improve general questions UI with expandable design * feat: implement instructor profile institutional flow (UI) (#129) * Refactor: Stablished the appeals page to support pagination and filters (#123) * refactor: Stablished the appeals page to support pagination and filters * feat: enhance course search functionality with filters and pagination feat: add CoursePreviewCard component for course previews refactor: update CourseListPage to include search and filter options fix: improve search parameter handling in shared types * feat: Implement infinite scroll for courses and pagination for appeals --------- * Feature/course enroll button (#130) * initial enrrollment logic * feat: enrollment courses --------- * refactor: appeal validation (#131) * refactor: Modified the landing page (#132) * refactor: Modified the landing page * refactor: Modified the landing page * Feature/assessment and learning system (#133) * feat: add assessment system pages * feat: add student learning components * feat: add my learning page * feat: add error boundary component * feat: update types for assessment system * feat: add assessment and question services * feat: add assessment hooks * feat: update enrollment service and hooks * feat: add routes for assessment and learning * feat: update navbar for professors * refactor: clean course details logic * feat: update course learn page * refactor: update ui components * feat: update professor and course pages * feat: implement full payment and post-payment user flow * fix: Resolve merge conflicts * fix: Resolve navigation problems * feat: Implement Full Assessment and Reporting System * fix: fixed bugs related to the course cards. Added vinculation with backend for ProfessorDashboard. * fix: Delete some comments * refactor: course-institutions and description units (#138) * Refactor/improve payment uxui (#137) * refactor: improve some details in payment * feat: add HTTPS support to development server - Add vite-plugin-mkcert for automatic SSL certificate generation - Enable HTTPS on port 5173 - Configure development server with secure connections --------- * fix: fixes (#139) * fix: fixes * fix: fixes * Feature/analytics integration (#140) * feat: add admin analytics service and hook * feat: update professor analytics hook with backend structure * feat: integrate professor analytics page with backend data * feat: integrate admin dashboard with real-time analytics * feat: implement comprehensive analytics page with charts and rankings * feat: Added protection to the routes (#141) * feat: Implementacion de filtrado y paginacion de Appeals y CourseTypes (#142) * feat: Refactor Appeals page to use server-side filtering and pagination * fix: Prevent crash on professor courses page with undefined price * fix: fixed the modal for editing course (#143) * Feat/improve course filters (#144) * feat:improve filters options * feat: add professor-filters and Links with filters --------- * Refactor: visual details deadline (#145) * feat: add new basic pages, faq, about us and contact * fix: fixed the filter params --------- * bugfix: improve questions endpoints (#146) * feat: Agregado la pestaña del historial de apelaciones de estudiantes al perfil y arreglar la barra de navegación móvil (#147) * feat: add student appeals history tab to profile and fix mobile navbar * bugfix: fix vulnerabilities * feat: Configuracion de vitest y cypress con pruebas unitarias y e2e iniciales (#148) * feat: Setup vitest and cypress with initial unit and e2e tests * bugfix: fix problems * feat: Implemented react-hot-toast (#149) * feat: Implemented react-hot-toast * feat: Implemented react-hot-toast * fix: fixed the failed test * feat: Implemented more notifications with react-hot-toast * feat: Implemented the remaining notifications (#150) * fix: Resolución de problemas de redirección de aplicaciones del profesor y de desbordamiento de texto modal (#151) * fix: resolve professor application redirection and modal text overflow issues * fix: Delete some comments * Feat: Implementar sistema de mails (#152) * feat: modificate pages * feat: complete modules * feat: Added feedback with react-hot-toast --------- * feat:install storybook and example (#153) * refactor: Implemented Lazy loading in AppRouter and HeroSection (#155) * Feature/components doc (#154) * feat:documentation-badge-cardlist-documentpreviewer * feat:badgeDoc * feat:documentComponents * feat: Integración de refresh token y manejo de sesiones (#156) * feat: Implement silent refresh interceptor and fix course pricing * fix: Ngrok redirection problems * fix: Problems with refresh token * fix: Update error handling and improve course institution references (#157) * fear:install knip and delete unused files (#158) * refactor:delete unused exports (#159) * fix: Resolve build problems for deployment (#161) * fix: Resolucion de conflictos de Merge con main (#163) * Add workflow to automate Pull Requests (#1) * Feat: primer paso a produccion (#160) * Add workflow to automate Pull Requests * fix: Correct workflow directory name * fix: Add checkout code and change the creation pull request code * Boilerplate Creation (#8) * PR: Merge feature/login-register into develop (#9) * Folder structuring + creating login and register pages The project folders were structured and the Login and Register pages were successfully created (the focus was on functionality, but still nothing visually appealing). * Visually pleasing login and register The layouts folder was also added, where the MainLayout and AuthLayout were created. Based on that, the App.tsx and AppRoutes.tsx files were changed. --------- * Added Tailwind to the project. (#10) Modified LoginPage.tsx and RegisterPage.tsx to start using Tailwind, and began implementing reusable React components. * ref: update readme with git flow info (#11) * PR: Merge feature/landing-page into develop (#12) * wip: added landing page with minimal changes to Tailwind settings * wip: deleted unnecessary comments --------- * feat: Setup Code Quality Pipeline with CI workflow (#15) * fix(ci): Align CI workflow to use pnpm (#18) * fix(ci): Read pnpm version from package.json (#19) * ref:change-styles-from-login-and-register * feat(ui): Replace the Hero image with a 3d interactive model (#22) * fix: handling of tokens received from the backend (#25) * feat: navBar-Logged V1.0 * Refactor: Unify and Stabilize Authentication System (#29) * refactor(auth): implement token-only flow and unify session management * fix(auth): resolve user state update and unify response handling * chore(deps): remove unused fontawesome dependencies * feat: Professor Application Page * /feature/Course-List-Page-Prototype * Implentation of the appeal logic * feat(ci): Add workflow to auto-add new issues to project (#36) * chore(workflow): add automated issue templates (#38) * feat: Update issue templates (#39) Creación de la plantilla de reporte bugs. * chore: Changed the Feature and Bug templates. (#40) Deleted the new bug report template and updated the previous to start working. * fix(layout): prevent auth form overlapping header on low-height viewports (#42) * feat(ui): implement responsive design for existing views (#44) * Fix/ci workflow and triggers (#46) * fix(deps): Remove unused package causing security vulnerability * chore(ci): Remove automatic pull request creation workflow * chore(workflow): Add automatic pull request template (#48) * fix: Update issue templates (#49) * feat(admin): implement complete admin panel UI (#52) * feat(admin): implement in-app document viewer for professor applications (#54) * Feature/Implementation of the professor dashboard (#58) * feat(ui): Implementación del dashboard del profesor * fix: fixed a problem with the versions of the dependencies in package.json * refactor: Unificar AdminLayout en NavBar para una Navegación Consistente (#59) * refactor(admin): Unify AdminLayout in the NavBar component * fix(admin): Remove bell in admin views * feat(admin): Allow management of Course Types from the admin panel * refactor: eliminate loguin requeriment on link course (#64) * feat: Mejorar la estructura del layout y el scroll de navegación (#66) * feat: add ScrollToTop component to improve navigation experience and relocated Footer to MainLayout * fix: Fixed the problems with the merge. --------- * fix(admin): Mejorar la responsividad y consistencia visual del Panel de Admin y Layouts (#69) * fix(admin): Improve responsiveness of the Admin Panel and Layouts * fix(admin): Resolve modal stacking context issues with portals * Feature: Flujo de recuperacion de contraseña (#70) * feat: Initial version of the password recovery flow * fix: Changed the way to keep the user out of rest-password without the token * fix: Problems with GitHub Actions * fix: Add missing dependency to useEffect in ResetPasswordPage --------- * refactor(data): migrate server state management to TanStack Query * refactor(data): add @tanstack/react-query-devtools to test Also we added some time in the staleTime to see the state "fresh" * refactor(forms): Migrate all forms to React Hook Form and Valibot * refactor:button-ui (#76) * refactor:button-ui * chore(): install clsx and tailwind-merge for styles * feat(ui): create flexible and robust Button component * refactor(auth): standardize form buttons with new Button API * refactor(ui): apply Button standard to NavBar and HeroSection * fix(ui): correct Dialog close button and admin button sizes * refactor(ui): standardize miscellaneous remaining buttons * fix(ui): standardize password toggle botton usage * docs(): add button documentation JSDoc --------- * chore(project): standardize UI folder structure (#91) * Feat: Crear y Aplicar Utilidad 'cn' para Composición de Clases (#92) * feat(lib): create cn class composition utility * refactor(): apply cn class composition utility in Button component * refactor(ui): enhance Label component with cn and forwardRef (#93) * feat: Implementacion de API service, hooks y tipos para la gestión de Cursos (#100) * feat(types): align course entities with backend models * feat(api): create course service for CRUD operations * feat(hooks): implement TanStack Query hooks for courses Also changed de ProfessorCoursesPage to see the course of the professor insted of static courses --------- * refactor:refactor navbar v1 (#94) * refactor:refactor navbar v1 * refactor: navbar itv1.1 * refactor: navBar it1v1.2 * reactor: navBarit1 v1.3 * feat:Star course creation page * feat: Finished the course creation structure * feat(professor): enable navigation to course creation pag Also fixed empty interface linting error in Switch component * feat: courseCreation-continue & start-unit-creation * feat: Modified ProfessorCourseEdition and implemented ProfessorCourseCreation vinculation * feat(professor): Implements course creation from the professor view * fix(components): solved conflicts in some components * Feature/course content management (#102) * feat:initial config of editor * create-unit-service * feat:try-to-custom-side-menu * fix: Modals open correctly * feat: Added the upload for material and fixed the problem with the units * feat: Course changes are applied to the database * feat:stanting-activity-edition * refactor: Added a general button to save changes in the Edit view. Changed data made in the configuration modal is no longer sent there, the general button is used instead. * refactor: Modified the material modal Now have the option to put individual names on each uploaded file * fix: Local data saving when canceling in the configuration modal * feat:adapt to send courses units * feat: Send everything to the back * feat: The ProfessorCourseEdition page fetchs all the data from the back * fix: Deleted unused entities and functions --------- * refactor(ui): Refactor Badge component for reusability and variants (#106) * refactor(ui): Enhance Button component with professional JSDoc (#107) * refactor(ui): Refactor Input component with cn utility and JSDoc (#108) * refactor(ui): Refactor Textarea component for reusability and form integration (#109) * refactor(ui): Refactor Select component for consistency and form integration (#110) * refactor(ui): Standardize Card component system with cn, ref, and JSDoc * refactor(ui): Integrate CardList component with standard Card system * fix(vulnerabilities): Updated axios and vite * feat(profile): Add user profile view and edit functionality * feat: get-courses-from-db * Minor changues * Refactor: modulize editor course page (#125) * wip: reorder editor page componente * feat: add question crud service and hooks * feat: add question editor modal component * feat: add question list and crud actions to unit content * feat: replace edit button with view/edit mode switch * feat: integrate edit mode toggle and question management * feat: add dynamic course status badges and data * refactor: improve dialog styling and unit editor ui * refactor: update api services and auth context * style: update global styles * refactor: update course sidebar component * Feature/course detail page (#126) * add getById function and CourseDetail page * coding UI of courseDetails page * feat: add-course-details * Feature: sistema de evaluaciones (#127) * feat: add assessment type definitions and interfaces * feat: implement assessment API service layer * feat: add React Query hooks for assessment management * feat: add assessments listing page for professors * feat: add assessment editor for create and update * feat: add assessment attempts review page * feat: create unified QuestionForm component * feat: add QuestionSelector component with search and create * refactor: update QuestionEditor to use unified QuestionForm * feat: add assessment routes to app router * feat: add bidirectional navigation between courses and assessments * style: remove legacy commented code from course edition * feat: add general questions service and hooks * fix: support general questions in assessment selector * feat: add general questions manager component * feat: integrate general questions manager in course editor * fix: remove unnecessary unit validation in question form * feat: improve general questions UI with expandable design * feat: implement instructor profile institutional flow (UI) (#129) * Refactor: Stablished the appeals page to support pagination and filters (#123) * refactor: Stablished the appeals page to support pagination and filters * feat: enhance course search functionality with filters and pagination feat: add CoursePreviewCard component for course previews refactor: update CourseListPage to include search and filter options fix: improve search parameter handling in shared types * feat: Implement infinite scroll for courses and pagination for appeals --------- * Feature/course enroll button (#130) * initial enrrollment logic * feat: enrollment courses --------- * refactor: appeal validation (#131) * refactor: Modified the landing page (#132) * refactor: Modified the landing page * refactor: Modified the landing page * Feature/assessment and learning system (#133) * feat: add assessment system pages * feat: add student learning components * feat: add my learning page * feat: add error boundary component * feat: update types for assessment system * feat: add assessment and question services * feat: add assessment hooks * feat: update enrollment service and hooks * feat: add routes for assessment and learning * feat: update navbar for professors * refactor: clean course details logic * feat: update course learn page * refactor: update ui components * feat: update professor and course pages * feat: implement full payment and post-payment user flow * fix: Resolve merge conflicts * fix: Resolve navigation problems * feat: Implement Full Assessment and Reporting System * fix: fixed bugs related to the course cards. Added vinculation with backend for ProfessorDashboard. * fix: Delete some comments * refactor: course-institutions and description units (#138) * Refactor/improve payment uxui (#137) * refactor: improve some details in payment * feat: add HTTPS support to development server - Add vite-plugin-mkcert for automatic SSL certificate generation - Enable HTTPS on port 5173 - Configure development server with secure connections --------- * fix: fixes (#139) * fix: fixes * fix: fixes * Feature/analytics integration (#140) * feat: add admin analytics service and hook * feat: update professor analytics hook with backend structure * feat: integrate professor analytics page with backend data * feat: integrate admin dashboard with real-time analytics * feat: implement comprehensive analytics page with charts and rankings * feat: Added protection to the routes (#141) * feat: Implementacion de filtrado y paginacion de Appeals y CourseTypes (#142) * feat: Refactor Appeals page to use server-side filtering and pagination * fix: Prevent crash on professor courses page with undefined price * fix: fixed the modal for editing course (#143) * Feat/improve course filters (#144) * feat:improve filters options * feat: add professor-filters and Links with filters --------- * Refactor: visual details deadline (#145) * feat: add new basic pages, faq, about us and contact * fix: fixed the filter params --------- * bugfix: improve questions endpoints (#146) * feat: Agregado la pestaña del historial de apelaciones de estudiantes al perfil y arreglar la barra de navegación móvil (#147) * feat: add student appeals history tab to profile and fix mobile navbar * bugfix: fix vulnerabilities * feat: Configuracion de vitest y cypress con pruebas unitarias y e2e iniciales (#148) * feat: Setup vitest and cypress with initial unit and e2e tests * bugfix: fix problems * feat: Implemented react-hot-toast (#149) * feat: Implemented react-hot-toast * feat: Implemented react-hot-toast * fix: fixed the failed test * feat: Implemented more notifications with react-hot-toast * feat: Implemented the remaining notifications (#150) * fix: Resolución de problemas de redirección de aplicaciones del profesor y de desbordamiento de texto modal (#151) * fix: resolve professor application redirection and modal text overflow issues * fix: Delete some comments * Feat: Implementar sistema de mails (#152) * feat: modificate pages * feat: complete modules * feat: Added feedback with react-hot-toast --------- * feat:install storybook and example (#153) * refactor: Implemented Lazy loading in AppRouter and HeroSection (#155) * Feature/components doc (#154) * feat:documentation-badge-cardlist-documentpreviewer * feat:badgeDoc * feat:documentComponents * feat: Integración de refresh token y manejo de sesiones (#156) * feat: Implement silent refresh interceptor and fix course pricing * fix: Ngrok redirection problems * fix: Problems with refresh token * fix: Update error handling and improve course institution references (#157) * fear:install knip and delete unused files (#158) * refactor:delete unused exports (#159) --------- * fix: Delete old workflow --------- --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> Co-authored-by: carlex74 <r.icardogugliermino@gmail.com> Co-authored-by: LucaTvl <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: LucaTvl <ltrincavell@frro.utn.edu.ar> Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> Co-authored-by: carlex <ricardogugliermino@gmail.com> * fix: Delete old workflow (#166) * fix: Add vercel rewrites for SPA routing (#168) * Refactor/story components (#169) * Document Select Component * Document Select Component * Document Label Component * Docuemnt RoleBadge Component * Document ProfileField Component * Document Modal Component * Docuent CoursePreviewCard Component --------- Co-authored-by: carlex <ricardogugliermino@gmail.com> * Document all components (#170) Co-authored-by: carlex <ricardogugliermino@gmail.com> * Add GitHub Actions workflow for Storybook deployment (#173) * Feat: Integración con cambios de API backend (#172) * feat: update entity types to support new backend API structure * refactor: use professor helpers and count fields in course cards * feat: add MongoDB ObjectId validation for questions and support count fields in units * feat: display institution info in course details page * refactor: integrate professor helpers and fix institution filter ID handling * refactor: apply professor helpers to institution management panel * bugfix: fix types problems when build * feat: Add remember-me checkbox to login UI (#174) Also update login paylo…
1 parent 4da617c commit a3c3203

14 files changed

Lines changed: 1624 additions & 4274 deletions

File tree

.github/workflows/ci.yml

Lines changed: 73 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,89 @@
1-
name: Code Quality Pipeline
1+
name: Frontend CI Pipeline
22

33
on:
4+
push:
5+
branches: [develop, main]
46
pull_request:
5-
branches: ['develop']
7+
branches: [develop, main]
8+
workflow_dispatch:
9+
10+
env:
11+
NODE_VERSION: '22'
612

713
jobs:
814
quality-check:
9-
name: Code Quality & Security Check
15+
name: Code Quality & Unit Tests
1016
runs-on: ubuntu-latest
1117
steps:
12-
- name: Checkout Code
13-
uses: actions/checkout@v4
18+
- uses: actions/checkout@v4
19+
- uses: pnpm/action-setup@v4
20+
- uses: actions/setup-node@v4
21+
with:
22+
node-version: ${{ env.NODE_VERSION }}
23+
cache: 'pnpm'
24+
25+
- name: Cache Playwright Browsers
26+
uses: actions/cache@v4
27+
id: playwright-cache
28+
with:
29+
path: |
30+
~/.cache/ms-playwright
31+
key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }}
32+
33+
- name: Install Dependencies
34+
run: pnpm install --frozen-lockfile
1435

15-
- name: Setup pnpm
16-
uses: pnpm/action-setup@v4
36+
- name: Install Playwright Browsers
37+
if: steps.playwright-cache.outputs.cache-hit != 'true'
38+
run: pnpm exec playwright install --with-deps
1739

18-
- name: Setup Node.js
19-
uses: actions/setup-node@v4
40+
- name: Run ESLint
41+
run: pnpm run lint
42+
- name: Run TypeScript Check
43+
run: pnpm run type-check
44+
- name: Run Security Audit
45+
run: pnpm run audit
46+
- name: Run Unit Tests
47+
run: pnpm run test:unit
48+
49+
e2e-tests:
50+
name: E2E Tests (Cypress)
51+
runs-on: ubuntu-latest
52+
needs: quality-check
53+
steps:
54+
- uses: actions/checkout@v4
55+
- uses: pnpm/action-setup@v4
56+
- uses: actions/setup-node@v4
2057
with:
21-
node-version: '20.x'
58+
node-version: ${{ env.NODE_VERSION }}
2259
cache: 'pnpm'
2360

61+
- name: Cache Cypress Binary
62+
uses: actions/cache@v4
63+
id: cypress-cache
64+
with:
65+
path: ~/.cache/Cypress
66+
key: ${{ runner.os }}-cypress-${{ hashFiles('**/pnpm-lock.yaml') }}
67+
2468
- name: Install Dependencies
2569
run: pnpm install --frozen-lockfile
2670

27-
- name: Run Quality Checks
28-
run: pnpm test
71+
- name: Install Cypress Binary
72+
if: steps.cypress-cache.outputs.cache-hit != 'true'
73+
run: pnpm exec cypress install
74+
75+
- name: Cypress Run
76+
uses: cypress-io/github-action@v6
77+
with:
78+
install: false
79+
build: pnpm run build
80+
start: pnpm run preview --port 5173
81+
wait-on: 'http://localhost:5173'
82+
browser: chrome
83+
record: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
84+
parallel: false
85+
env:
86+
CI: true
87+
CYPRESS_BASE_URL: 'http://localhost:5173'
88+
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
89+
GITHUB_TOKEN: ${{ secrets.DSW_TOKEN }}

cypress.config.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
import { defineConfig } from "cypress";
1+
import { defineConfig } from 'cypress';
22

33
export default defineConfig({
4-
e2e: {
5-
setupNodeEvents() {
4+
projectId: 'di6an5',
5+
6+
e2e: { baseUrl: process.env.CYPRESS_BASE_URL || 'https://localhost:5173', setupNodeEvents() {
67
// implement node event listeners here
78
},
89
},
9-
});
10+
});

cypress/e2e/landing_flow.cy.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
describe('Landing Page & Navigation Flow', () => {
22
beforeEach(() => {
3-
// Visit the local development server
4-
cy.visit('https://localhost:5173/');
3+
// Visit the application (uses baseUrl from cypress.config.ts)
4+
cy.visit('/');
55
});
66

77
it('Should display the hero section with correct title', () => {
88
// Verify main title parts
99
cy.contains('h1', 'Aprende sin').should('be.visible');
1010
cy.contains('span', 'límites').should('be.visible');
11-
11+
1212
// Verify "Explore Courses" button exists with correct link
1313
cy.contains('a', 'Explorar Cursos')
1414
.should('be.visible')
@@ -39,4 +39,4 @@ describe('Landing Page & Navigation Flow', () => {
3939
// Verify Courses page title
4040
cy.contains('h1', 'Explorar Cursos').should('be.visible');
4141
});
42-
});
42+
});

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@
1616
"test:watch": "vitest",
1717
"test:e2e": "cypress open",
1818
"storybook": "storybook dev -p 6006",
19-
"build-storybook": "storybook build"
19+
"build-storybook": "storybook build",
20+
"cy:run": "cypress run",
21+
"cy:open": "cypress open",
22+
"test:e2e:local": "start-server-and-test preview http://localhost:4173 cy:run"
2023
},
2124
"dependencies": {
2225
"@blocknote/core": "^0.37.0",
@@ -51,6 +54,7 @@
5154
"@testing-library/dom": "^10.4.1",
5255
"@testing-library/jest-dom": "^6.9.1",
5356
"@testing-library/react": "^16.3.0",
57+
"@types/node": "^25.0.3",
5458
"@types/react": "^19.1.8",
5559
"@types/react-dom": "^19.1.6",
5660
"@types/three": "^0.179.0",
@@ -78,7 +82,8 @@
7882
},
7983
"pnpm": {
8084
"overrides": {
81-
"glob": "^10.5.0"
85+
"glob": "^10.5.0",
86+
"systeminformation": ">=5.27.14"
8287
}
8388
},
8489
"packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"

0 commit comments

Comments
 (0)