Skip to content
This repository has been archived by the owner on Nov 18, 2024. It is now read-only.

Tests #28

Merged
merged 103 commits into from
Apr 25, 2024
Merged

Tests #28

merged 103 commits into from
Apr 25, 2024

Conversation

khylpe
Copy link
Member

@khylpe khylpe commented Apr 25, 2024

No description provided.

KilianBre and others added 30 commits March 10, 2024 14:10
Autres points d'améliorations :
- Faire l'affichage d'une ressource (par catégorie)
-Terminer les filtres
-Rajouter des détails
Rajout envoi de l'idUser et ressource publique (true/false)
+ DB
+ API v26
+ API
+ CR of ressources
pending
accepted/rejected/blocked
+ API
start REFACTO category / ressource
API
@khylpe khylpe requested a review from Capryc0rne April 25, 2024 16:48
@khylpe khylpe merged commit c2b49a3 into dev Apr 25, 2024
0 of 3 checks passed
Copy link

cypress bot commented Apr 25, 2024

3 failed tests on run #23 ↗︎

3 7 0 0 Flakiness 0

Details:

Tests (#28)
Project: Ressources relationnelles Commit: c2b49a3c8c
Status: Failed Duration: 01:24 💡
Started: Apr 25, 2024 4:52 PM Ended: Apr 25, 2024 4:54 PM
Failed  dashboardPage.cy.ts • 2 failed tests

View Output

Test Artifacts
Dashboard page > Check if the dashboard is accessible after login Test Replay Screenshots
Dashboard page > Check if the dashboard contains the expected elements (for a super admin) Test Replay Screenshots
Failed  loginPage.cy.ts • 1 failed test

View Output

Test Artifacts
Login page > Login with right credentials Test Replay Screenshots

Review all test suite changes for PR #28 ↗︎

khylpe added a commit that referenced this pull request May 15, 2024
* Setting up project (#2)

* setting up next js

* Zustand & Folder architecture with README files

Created folder architecture with readme files. Installed Zustand which is a store manager for javascript applications.

* Update frontend README and restructured folders

* Initial commit backend

* updated README.md

* remove .idea directory

* updated gitignore
- exclude .idea/

* installed & configured antd

* Installed Axios ; Removed CSS

* init Database

---------

Co-authored-by: Capryc0rne <[email protected]>

* Authentication

* setting up next js

* Zustand & Folder architecture with README files

Created folder architecture with readme files. Installed Zustand which is a store manager for javascript applications.

* Update frontend README and restructured folders

* Initial commit backend

* updated README.md

* remove .idea directory

* updated gitignore
- exclude .idea/

* installed & configured antd

* Installed Axios ; Removed CSS

* init Database

* init authentication
+ Dumb DB test

* init front authentication

accessible at localhost/login

* CORS Origin fix
+ → http://localhost:3000

* disable signup ; regex for email ; handling error codes ;

* Refine userData return on login

* Regex signup ; Logout component

Displaying logout component or login/signup depending on the "user" value.
Inscreased timeout in Axios requests because we had some timeout issues.

* Signup backend module
+ /api/signup

* Fixed logout ; Fixed login response ; Regex ; Error handling

Fixed logout : remove cookie when user is null

Fixed login and signup response : we expected data to be directly accessible but user's data is actually in the "user" object of the response.

More maintainable regex expression : they are now exportable for more consistency.

Error handling : [sign up] handling codes when falling in the catch statement.

---------

Co-authored-by: Arthur CRAHÉ <[email protected]>

* Authentication (#5)

* setting up next js

* Zustand & Folder architecture with README files

Created folder architecture with readme files. Installed Zustand which is a store manager for javascript applications.

* Update frontend README and restructured folders

* Initial commit backend

* updated README.md

* remove .idea directory

* updated gitignore
- exclude .idea/

* installed & configured antd

* Installed Axios ; Removed CSS

* init Database

* init authentication
+ Dumb DB test

* init front authentication

accessible at localhost/login

* CORS Origin fix
+ → http://localhost:3000

* disable signup ; regex for email ; handling error codes ;

* Refine userData return on login

* Regex signup ; Logout component

Displaying logout component or login/signup depending on the "user" value.
Inscreased timeout in Axios requests because we had some timeout issues.

* Signup backend module
+ /api/signup

* Fixed logout ; Fixed login response ; Regex ; Error handling

Fixed logout : remove cookie when user is null

Fixed login and signup response : we expected data to be directly accessible but user's data is actually in the "user" object of the response.

More maintainable regex expression : they are now exportable for more consistency.

Error handling : [sign up] handling codes when falling in the catch statement.

* Moved to subfolders ; Renamed routes ; Layouts ; Forgot password link

- Moved pages in corresponding subfolder front-office or back-office.
- Renamed routes in french.
- Created layout for each page in order to change metadata.
- Created a "forgot password" link component

* Add Email Verification Feature
+ Update Database Schema

* Add Password Recovery Feature
+ Update Database Schema : ressources_relationnelles.sql

* Add Remember me Feature
+ set TTL JWT at 14 days

* Reset password ; Mail verification ; Metadata ; Password input

* new login/sign up response type.

* Add NewUser Feature

* Init Swagger: API
+ api-docs.json -> editor.swagger.io

+ composer install

* JWT auto Refresh: API

* API update + add path /api/verifyUser

+ pass "newUser" in "user" response

---------

Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: Nicolas C. Capryc0rne <[email protected]>

* first layout

* cypress setup (#10)

with test exemple & readme 

by @KilianBre

* separate sidebar & header & footer in components

can logout, display user's icon or a default icon, changed collapse icon

* footer & opti

* Authentication with build errors fixed 

* setting up next js

* Zustand & Folder architecture with README files

Created folder architecture with readme files. Installed Zustand which is a store manager for javascript applications.

* Update frontend README and restructured folders

* Initial commit backend

* updated README.md

* remove .idea directory

* updated gitignore
- exclude .idea/

* installed & configured antd

* Installed Axios ; Removed CSS

* init Database

* init authentication
+ Dumb DB test

* init front authentication

accessible at localhost/login

* CORS Origin fix
+ → http://localhost:3000

* disable signup ; regex for email ; handling error codes ;

* Refine userData return on login

* Regex signup ; Logout component

Displaying logout component or login/signup depending on the "user" value.
Inscreased timeout in Axios requests because we had some timeout issues.

* Signup backend module
+ /api/signup

* Fixed logout ; Fixed login response ; Regex ; Error handling

Fixed logout : remove cookie when user is null

Fixed login and signup response : we expected data to be directly accessible but user's data is actually in the "user" object of the response.

More maintainable regex expression : they are now exportable for more consistency.

Error handling : [sign up] handling codes when falling in the catch statement.

* Moved to subfolders ; Renamed routes ; Layouts ; Forgot password link

- Moved pages in corresponding subfolder front-office or back-office.
- Renamed routes in french.
- Created layout for each page in order to change metadata.
- Created a "forgot password" link component

* Add Email Verification Feature
+ Update Database Schema

* Add Password Recovery Feature
+ Update Database Schema : ressources_relationnelles.sql

* Add Remember me Feature
+ set TTL JWT at 14 days

* Reset password ; Mail verification ; Metadata ; Password input

* new login/sign up response type.

* Add NewUser Feature

* Init Swagger: API
+ api-docs.json -> editor.swagger.io

+ composer install

* JWT auto Refresh: API

* API update + add path /api/verifyUser

+ pass "newUser" in "user" response

* Update (newUser dans user)

* add role in JWT and extend limite request at 20k

* remove auto refresh (to patch later)

* fixed build errors

* Update api.php

---------

Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: Nicolas C. Capryc0rne <[email protected]>
Co-authored-by: KilianBre <[email protected]>

* admin dashboard

* Delete unused image and logo files

* exemple chart

* User management (#13)

* first look of the user table

* pagination get users + DB

* remove auto refresh (to patch later)

* still working on table

* + Middleware isAdmin

* + Get Users
SortBy
Search
SearchBy
Pagination

* handle pagination

* Select cols ; quickjump (page) ;

* sort

* col width ; diff actions based on role ; display all cols button

* EditUser + refacto (create Utils.php)
update API

* DeleteUser + update API

* Block / unBlock user + update API

* patch Search by

* search

* get "isBlocked" + update API

* fixed Select cols width ; started create user

* modify icons and tooltip based on value

* add sort by "blocked"

* can block/unblock user

* delete user

* edit user ; fixed checkbox ; disable actions based on role

* get countries
+ update DB
+ update API

* countries patch

* Reset filter

* Fixed type error

* tooltips to cells

* fixed DB ;

* Display country flag and select country

* user patch
- by default user was admin
- country, city, postalCode can now be nullable

* on login, send all user Data to front

* change lexicon block to ban

* isBlocked -> isBanned ; countries component ; fixed pagination ;

* Update user types and file paths

* patch ban / unban

* make messages visible again

---------

Co-authored-by: Capryc0rne <[email protected]>

* antD chart -> ChartJS ; working on chart design

* User management : fixes (#14)

* first look of the user table

* pagination get users + DB

* remove auto refresh (to patch later)

* still working on table

* + Middleware isAdmin

* + Get Users
SortBy
Search
SearchBy
Pagination

* handle pagination

* Select cols ; quickjump (page) ;

* sort

* col width ; diff actions based on role ; display all cols button

* EditUser + refacto (create Utils.php)
update API

* DeleteUser + update API

* Block / unBlock user + update API

* patch Search by

* search

* get "isBlocked" + update API

* fixed Select cols width ; started create user

* modify icons and tooltip based on value

* add sort by "blocked"

* can block/unblock user

* delete user

* edit user ; fixed checkbox ; disable actions based on role

* get countries
+ update DB
+ update API

* countries patch

* Reset filter

* Fixed type error

* tooltips to cells

* fixed DB ;

* Display country flag and select country

* user patch
- by default user was admin
- country, city, postalCode can now be nullable

* on login, send all user Data to front

* change lexicon block to ban

* isBlocked -> isBanned ; countries component ; fixed pagination ;

* Update user types and file paths

* patch ban / unban

* make messages visible again

* Sharp dep' ; fixed header ; responsivness

Header wasn't collapsing. Fixed.
Installed Sharp dependency for image optimization (handle by nextjs).
Fixed responsivness.
Button to enable/disable fixed columns (email & action) for responsivness purposes.

* fixed header ; responsivness

* Refactor SelectCountry component and add documentation

---------

Co-authored-by: Capryc0rne <[email protected]>

* UX & working on connection chart

UX on loadings states ;

* children to sidebar ; doc datePicker ; update chart on date change

* init Statistics connection
+ log connections
+ api update
+ DB update

* change format YYYY-mm-dd to dd-mm-YYYY

* add "numberConnections : 0"
+ update API

* add average day and value
+ patch +1 day
+ update API

* patch : average null if value = 0

* finished connection chart & average ; layouts ; loadings

* Update DB

* fixed error in root

* fixed dates

* baseURL from .ENV (#16)

* Chart: fixed responsivness & number of days in preview (#17)

* baseURL from .ENV

* fixed responsivness & number of days in preview

* Update header with dashboard link (#18)

* Header with dashboard (#20)

* Update header.tsx

* Update header.tsx

* Update header.tsx

---------

Co-authored-by: Arthur CRAHÉ <[email protected]>

* Conditionnal display of the dashboard element in header (#21)

* Update header.tsx

* User management history (#22)

* commit (temp), RGPD delete user col + DB

* first look History

* page description

* new logo ; user icon fallback in dashboard ; fixed build error ; working on ban user

* PWA & Accessibility

* conditionnal display of sidebar items based on user role

* handle Ban & Unban

* middleware

* working on cookies

* accept cookies finished

* fixed ban user UI

* remove create user

* tooltip with user info

* auto add in history
+ composer update
+ DB change
+ Swagger

+ change isBan by banUntil
+ set BIGINT instead of timestamp

* handle diff use case of history + utils

* history preview in dashboard

* date format

* handle the permanent ban use case

* Patch history + ban
+ password verify

* Update DB

* handle deleted user & fixed pagination & fixed isEmailVerified

* change src images

* fixed alt CESI

* Create user with doc & new middlewares

* add tooltip with user info

* informationS

* create user Modal + button

* icon + responsivness + check on status code + refresh user list

* log history for created user

* conditional display of dashboard elements

* error message
+ validator to 'fr'

* add image when create
+ history create

* fixed ban rules ; fixed ban color ; fixed dates in history

* edit ban timestamp to unix timestamp.

* fixed pagination error

* API update (400 to 422)

* fixed unique key for list child

* A banned user cannot connect.

* some details

---------

Co-authored-by: Capryc0rne <[email protected]>

* Creer ressource (#24)

* Commit modification creer ressource + basée sur dev

* create ressource

- il manque l'ajout de fichiers ( en cours )

* some comments

* comment

* DB file

---------

Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Tristan13R <[email protected]>

* resSource
+ DB
+ API

* Categories + DB (#26)

* List des catégories

* working on component

* do some Categories...

* Add instructions for "CreateUser".

* CR instructions

* working on categories

* Patch Category, uniqueness validation to exclude self

* refresh categories list when modifying

* sidebar & card height

* Create Category front

* delete category

* isActive : checkbox to Switch

* icon & placement of add category

* can change icon

* swagger api doc

* DB: ressources & categories

* preview categories

---------

Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Capryc0rne <[email protected]>

* Tests (#28)

* Ressources

* Rajout front (/creer-ressource, une-ressource/id, /ressrouces)

* Create layout.tsx

* Modification affichage des ressources

Autres points d'améliorations :
- Faire l'affichage d'une ressource (par catégorie)
-Terminer les filtres
-Rajouter des détails

* Update page.tsx

* Modification créer/liste ressource

Rajout envoi de l'idUser et ressource publique (true/false)

* add type
+ DB
+ API v26

* badge number of categories

* Création du back getARessource

* stats/users
+ API
+ CR of ressources

* dashboard & some details

* fix build errors

* add "+1" to view_count

* ressource update live

* CreateRessource
API
DB

* working on create ressource

* withCredentials

* accept/reject
+ API

* [Back-office] Ressource pages

* Ressources pages & middleware

* accept/reject/block
pending
accepted/rejected/blocked
+ API

* subfolder for ressource management

* first look of pending ressources with partial mocks

* accept / reject / block a ressource

* popconfirm on actions

* jsp si j'ai tout cassé
start REFACTO category / ressource
API

* getRessource

* test without mock

* j'ai pas test

* Fixed layout

* Nouvelle hiérarchisation des fichiers

(connected) - (disconnected)

* refacto + add myRessources
+ API

* stats ressources + myRessources
+ API

* Only view profil (update is disable for the moment (not dev) ) (#27)

* Commit des modification sur le profil + branche basée sur dev

* Update général

Rajout layout global pour le front office + rajout dashboard + modification de l'affichage du profil par le user provider + rajout drapeaux sur l'affichage du profil

* Update page.tsx

* update

* Update général fonctionnalité viewUpdateProfil

* Update header.tsx

* Update header.tsx

* Modification du component PasswordInput

Rajout boolean useRegex (true/false)

* Disable bouton "Modifier" car la fonctionnalité n'est pas encore développée

* fixed layouts & folders

* fixed build error

* List of pending ressources in "my ressources"

* Disable modifier on view profil

* UX for disabled modify on profil

* Moved Page Summarry component

* add staffComment
+ API
+ DB

* add staffComment to /block (patch to post)
+ API

* add profile picture random on create / signup
+ DB (new table)

* change route to "ressource/create"
add route edit
+ API

* edit route correction

* delete route
+ API

* change access stats ressource

* edit ressource all field required.

* dashboard preview for ressources stats

* fixed create ressource endpoint

* fixed build error

* comments for refuse & block ressource

* staff comment to ressource type for block & refuse ressource

* Edit a ressource

* UI tabs for mes-ressources

* accepted / blocked / refused ressources

* Change api / user
api / users
api / category

+ API

* remove disabled ressources from sidebar

* delete ressource by moderator +
+ API

* Si la ressource n'est pas acceptée, seul l'owner et le staff peuvent la voir

* delete a ressource & display a ressource

* recommended extensions

* fixed verify email

Since an unverified account can log in, the verification-email page must be accessible to everyone

* Modification viewAndUpdate profile

création composant "changeUserPassword" + modification de la page profil existante

* Update couleur border viewAndUpdateProfile

* Ajout des mentions légales

* refractor ressources accordions

* Rajout des bouton supprimer profil/données profil + récuperer ses données

* Profil : align to left

* edit swagger

* scroll admin sidebar

* List des catégories + affichage des ressources par catégorie

* empty email & password test

* wrong credentials & pipeline

* remove right credentials tests

* Update cypress.yml

* Par pitié le K

* test

* test password visibility

* test empty signup

* Init test
DB ! create the DB and import it before test :)

* fixed middleware

* Display empty element if no ressources to display

* test cookies

* test login right credentials

* dashboard tests

* update layouts, not found page and routing

* button link to homepage

* more tests
Categories test must be based on ressources branch

* Update Test DB

* some tests

* show empty component when no ressources

* remove ressources list from header

remove ressources list from header since ressources are available through the categories

* reroute user based on role

* display modify ressource only if owner

* display list of ressources

---------

Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Capryc0rne <[email protected]>

* Pre prod (#29)

* add staffComment
+ API
+ DB

* add staffComment to /block (patch to post)
+ API

* add profile picture random on create / signup
+ DB (new table)

* change route to "ressource/create"
add route edit
+ API

* edit route correction

* delete route
+ API

* change access stats ressource

* edit ressource all field required.

* dashboard preview for ressources stats

* fixed create ressource endpoint

* fixed build error

* comments for refuse & block ressource

* staff comment to ressource type for block & refuse ressource

* Edit a ressource

* UI tabs for mes-ressources

* accepted / blocked / refused ressources

* Change api / user
api / users
api / category

+ API

* remove disabled ressources from sidebar

* delete ressource by moderator +
+ API

* Si la ressource n'est pas acceptée, seul l'owner et le staff peuvent la voir

* delete a ressource & display a ressource

* recommended extensions

* fixed verify email

Since an unverified account can log in, the verification-email page must be accessible to everyone

* Modification viewAndUpdate profile

création composant "changeUserPassword" + modification de la page profil existante

* Update couleur border viewAndUpdateProfile

* Ajout des mentions légales

* refractor ressources accordions

* Rajout des bouton supprimer profil/données profil + récuperer ses données

* Profil : align to left

* edit swagger

* scroll admin sidebar

* List des catégories + affichage des ressources par catégorie

* empty email & password test

* wrong credentials & pipeline

* remove right credentials tests

* Update cypress.yml

* Par pitié le K

* test

* test password visibility

* test empty signup

* fixed middleware

* Display empty element if no ressources to display

* test cookies

* test login right credentials

* dashboard tests

* update layouts, not found page and routing

* button link to homepage

* useless

* patch category ressources

* Update header.tsx

* Update header.tsx

* to valide tests

* patch category ressources

* working on filter

* filter in my ressources

* empty component if no ressources in a category

* fix filter

* Update page.tsx

* patch category ressources, get public ressources only

* have to be verified to Create / edit a Ressource

* Can filter everywhere

* delete ressource

* cannot create ressource if email not verified

* Update page.tsx

* logo on header

* user info on ressource

* header for disconnected pages

* header for connected or disconnected pages

* add to favorites ; add to bookmark

* Update page.tsx

* Update categoriesPreview.tsx

* ressource data in admin section

* Ressource data

* updte api route

* changed icons and size

* favorites and bookmarks

* loading states

* api route

* fixed type

* Comment !
create / delete

Get it when you load a ressource

DB + API

* list comments

* fr

* succes message ; comment display with format

* ct trop facile kappa

* relative time

* scroll to top button

* responsive

* responsive

* remove ressource history from sidebar

* remove unused pages

* feeback on ressource status

* home page

* Delete vercel.svg

* links to home page

* Update middleware.ts

* Update middleware.ts

* Update categoriesTab.tsx

* edit profil

* nop

* accept/ reject comment
+ db
+ api

* can't edit ressource blocked

* route edit superAdmin

* Revert "route edit superAdmin"

This reverts commit f11c180.

* test editprofil

* update editprofil

* Update UserController.php

* update editprofile for all the other fields

* tests

* patch Comment/create

* patch Comment/delete

* delete comment

* sidebar and pages for comments management

* patch Comment/delete + cascade delete parents

* can accept and refuse comments

* get only comment pending without parent or a parent accepted.

* cancel reply

* Update listOfRessourcesAccordion.tsx

* Update comment.tsx

* Update comment.tsx

* a moderator can delete a comment

* refresh comments list & delete comment

* bookmark page

* Update middleware.ts

* Get accepted comment / not pending

* ressource page

* Update page.tsx

* remove useless console.log

* loading states

* loading state

* editUser Backend

* add ressourceId on get comment

* create "getUserPublicData"

* open ressource from comment

* delete a ressource with comments

* delete a ressource with comments

* Stats comments

* comments preview in dashboard

* Update adminSidebar.tsx

* Rajout des routes codepostal et city + amélioration du code existant

* Rajout possibilité pour l'utilisateur de modifier son mdp

Il manque les conditions / tests / ...

* Rajout des contrôle sur le changement de mdp

* Add cypress tests

(Not finished yet)

* update data & handle loading state

* Change country when update

* Nico 377 - 1 PHP
Rollback refacto : 5772d16

* Update page.tsx

* responsive

* Update page.tsx

* Update page.tsx

* Update tests editUserPage and updateUserPassword

* Update ressourcesAccordionAdmin.tsx

* Update ressourcesAccordionAdmin.tsx

* handle no comments

* Update createCategoryFrom.tsx

* collapsable

* Update page.tsx

* Update ressourcesAccordionAdmin.tsx

* ressource description nullable

* resize textarea

* Update ressourceData.tsx

* strong category title

* Update categoryCard.tsx

* Update fields postal code and city

* Update page.tsx

* category -> categorie

* rename route

* Add disableComment if ressource.status != "accepted"

* reroute when signup

* update placeholder

* Update listOfRessourcesAccordion responsive ressource.label

* responsive

* responsive

* get comments and replies accepted

* Update listOfRessourcesAccordion.tsx

* Reactnode

* page summary responsive

* page summary & fix header & dashboard

* center profil

* Update listOfRessourcesAccordion.tsx

* clear

* Update ressourcesCaroussel.tsx

* Update ressourcesCaroussel.tsx

* Update page.tsx

* Update page.tsx

* metadata

* /Search (main page)
+ API update !!!

* init prod db

* link to ressource

* Link to ressource

* favorite & bookmark

* Update listOfRessourcesAccordion.tsx

* disable Documents

* Update ressourcesAccordionAdmin.tsx

* Update API parce que MONSIEUR ARTHUR est c**

* hihi UI je suis con ^^ :D 👍

* Update page.tsx

* center

* Update page.tsx

* Update page.tsx

* Update page.tsx

* Update listOfRessourcesAccordion.tsx

* count

* viewcount

* RANDOM ADD COUNT

* Update DB prod

* Update ressourcesCaroussel.tsx

* tests

* Update updateUserPassword.cy.ts

* Update editUserPage.cy.ts

* Stats Ressources Count

* Add share ressources button on ressources

* Update API 0.3.0

* patch

* ressources chart

* stats categories

* categories stats

* allow all stats to moderators

* update sidebar

* Update adminSidebar.tsx

* update desc and sidebar

* wcga option

* Update listOfRessourcesAccordion.tsx

* IDK

* Update DB

* tests

* tests

* Search access for everyone

* FIX TESTS

* Add to utils export function

* Update ressources_relationnelles.sql

* add preview card to dashboard

* Update ressourcesChart.tsx

* Create CreateUserSuperAdmin.cy.ts

* Update CreateUserSuperAdmin.cy.ts

* doughnut dashboard

* wcag

* update test createUserfromAdminPage

---------

Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Tristan13R <[email protected]>

---------

Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: Nicolas C. Capryc0rne <[email protected]>
Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Tristan13R <[email protected]>
@khylpe khylpe deleted the tests branch June 4, 2024 08:21
khylpe added a commit that referenced this pull request Aug 26, 2024
* Setting up project (#2)

* setting up next js

* Zustand & Folder architecture with README files

Created folder architecture with readme files. Installed Zustand which is a store manager for javascript applications.

* Update frontend README and restructured folders

* Initial commit backend

* updated README.md

* remove .idea directory

* updated gitignore
- exclude .idea/

* installed & configured antd

* Installed Axios ; Removed CSS

* init Database

---------

Co-authored-by: Capryc0rne <[email protected]>

* Authentication

* setting up next js

* Zustand & Folder architecture with README files

Created folder architecture with readme files. Installed Zustand which is a store manager for javascript applications.

* Update frontend README and restructured folders

* Initial commit backend

* updated README.md

* remove .idea directory

* updated gitignore
- exclude .idea/

* installed & configured antd

* Installed Axios ; Removed CSS

* init Database

* init authentication
+ Dumb DB test

* init front authentication

accessible at localhost/login

* CORS Origin fix
+ → http://localhost:3000

* disable signup ; regex for email ; handling error codes ;

* Refine userData return on login

* Regex signup ; Logout component

Displaying logout component or login/signup depending on the "user" value.
Inscreased timeout in Axios requests because we had some timeout issues.

* Signup backend module
+ /api/signup

* Fixed logout ; Fixed login response ; Regex ; Error handling

Fixed logout : remove cookie when user is null

Fixed login and signup response : we expected data to be directly accessible but user's data is actually in the "user" object of the response.

More maintainable regex expression : they are now exportable for more consistency.

Error handling : [sign up] handling codes when falling in the catch statement.

---------

Co-authored-by: Arthur CRAHÉ <[email protected]>

* Authentication (#5)

* setting up next js

* Zustand & Folder architecture with README files

Created folder architecture with readme files. Installed Zustand which is a store manager for javascript applications.

* Update frontend README and restructured folders

* Initial commit backend

* updated README.md

* remove .idea directory

* updated gitignore
- exclude .idea/

* installed & configured antd

* Installed Axios ; Removed CSS

* init Database

* init authentication
+ Dumb DB test

* init front authentication

accessible at localhost/login

* CORS Origin fix
+ → http://localhost:3000

* disable signup ; regex for email ; handling error codes ;

* Refine userData return on login

* Regex signup ; Logout component

Displaying logout component or login/signup depending on the "user" value.
Inscreased timeout in Axios requests because we had some timeout issues.

* Signup backend module
+ /api/signup

* Fixed logout ; Fixed login response ; Regex ; Error handling

Fixed logout : remove cookie when user is null

Fixed login and signup response : we expected data to be directly accessible but user's data is actually in the "user" object of the response.

More maintainable regex expression : they are now exportable for more consistency.

Error handling : [sign up] handling codes when falling in the catch statement.

* Moved to subfolders ; Renamed routes ; Layouts ; Forgot password link

- Moved pages in corresponding subfolder front-office or back-office.
- Renamed routes in french.
- Created layout for each page in order to change metadata.
- Created a "forgot password" link component

* Add Email Verification Feature
+ Update Database Schema

* Add Password Recovery Feature
+ Update Database Schema : ressources_relationnelles.sql

* Add Remember me Feature
+ set TTL JWT at 14 days

* Reset password ; Mail verification ; Metadata ; Password input

* new login/sign up response type.

* Add NewUser Feature

* Init Swagger: API
+ api-docs.json -> editor.swagger.io

+ composer install

* JWT auto Refresh: API

* API update + add path /api/verifyUser

+ pass "newUser" in "user" response

---------

Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: Nicolas C. Capryc0rne <[email protected]>

* first layout

* cypress setup (#10)

with test exemple & readme 

by @KilianBre

* separate sidebar & header & footer in components

can logout, display user's icon or a default icon, changed collapse icon

* footer & opti

* Authentication with build errors fixed 

* setting up next js

* Zustand & Folder architecture with README files

Created folder architecture with readme files. Installed Zustand which is a store manager for javascript applications.

* Update frontend README and restructured folders

* Initial commit backend

* updated README.md

* remove .idea directory

* updated gitignore
- exclude .idea/

* installed & configured antd

* Installed Axios ; Removed CSS

* init Database

* init authentication
+ Dumb DB test

* init front authentication

accessible at localhost/login

* CORS Origin fix
+ → http://localhost:3000

* disable signup ; regex for email ; handling error codes ;

* Refine userData return on login

* Regex signup ; Logout component

Displaying logout component or login/signup depending on the "user" value.
Inscreased timeout in Axios requests because we had some timeout issues.

* Signup backend module
+ /api/signup

* Fixed logout ; Fixed login response ; Regex ; Error handling

Fixed logout : remove cookie when user is null

Fixed login and signup response : we expected data to be directly accessible but user's data is actually in the "user" object of the response.

More maintainable regex expression : they are now exportable for more consistency.

Error handling : [sign up] handling codes when falling in the catch statement.

* Moved to subfolders ; Renamed routes ; Layouts ; Forgot password link

- Moved pages in corresponding subfolder front-office or back-office.
- Renamed routes in french.
- Created layout for each page in order to change metadata.
- Created a "forgot password" link component

* Add Email Verification Feature
+ Update Database Schema

* Add Password Recovery Feature
+ Update Database Schema : ressources_relationnelles.sql

* Add Remember me Feature
+ set TTL JWT at 14 days

* Reset password ; Mail verification ; Metadata ; Password input

* new login/sign up response type.

* Add NewUser Feature

* Init Swagger: API
+ api-docs.json -> editor.swagger.io

+ composer install

* JWT auto Refresh: API

* API update + add path /api/verifyUser

+ pass "newUser" in "user" response

* Update (newUser dans user)

* add role in JWT and extend limite request at 20k

* remove auto refresh (to patch later)

* fixed build errors

* Update api.php

---------

Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: Nicolas C. Capryc0rne <[email protected]>
Co-authored-by: KilianBre <[email protected]>

* admin dashboard

* Delete unused image and logo files

* exemple chart

* User management (#13)

* first look of the user table

* pagination get users + DB

* remove auto refresh (to patch later)

* still working on table

* + Middleware isAdmin

* + Get Users
SortBy
Search
SearchBy
Pagination

* handle pagination

* Select cols ; quickjump (page) ;

* sort

* col width ; diff actions based on role ; display all cols button

* EditUser + refacto (create Utils.php)
update API

* DeleteUser + update API

* Block / unBlock user + update API

* patch Search by

* search

* get "isBlocked" + update API

* fixed Select cols width ; started create user

* modify icons and tooltip based on value

* add sort by "blocked"

* can block/unblock user

* delete user

* edit user ; fixed checkbox ; disable actions based on role

* get countries
+ update DB
+ update API

* countries patch

* Reset filter

* Fixed type error

* tooltips to cells

* fixed DB ;

* Display country flag and select country

* user patch
- by default user was admin
- country, city, postalCode can now be nullable

* on login, send all user Data to front

* change lexicon block to ban

* isBlocked -> isBanned ; countries component ; fixed pagination ;

* Update user types and file paths

* patch ban / unban

* make messages visible again

---------

Co-authored-by: Capryc0rne <[email protected]>

* antD chart -> ChartJS ; working on chart design

* User management : fixes (#14)

* first look of the user table

* pagination get users + DB

* remove auto refresh (to patch later)

* still working on table

* + Middleware isAdmin

* + Get Users
SortBy
Search
SearchBy
Pagination

* handle pagination

* Select cols ; quickjump (page) ;

* sort

* col width ; diff actions based on role ; display all cols button

* EditUser + refacto (create Utils.php)
update API

* DeleteUser + update API

* Block / unBlock user + update API

* patch Search by

* search

* get "isBlocked" + update API

* fixed Select cols width ; started create user

* modify icons and tooltip based on value

* add sort by "blocked"

* can block/unblock user

* delete user

* edit user ; fixed checkbox ; disable actions based on role

* get countries
+ update DB
+ update API

* countries patch

* Reset filter

* Fixed type error

* tooltips to cells

* fixed DB ;

* Display country flag and select country

* user patch
- by default user was admin
- country, city, postalCode can now be nullable

* on login, send all user Data to front

* change lexicon block to ban

* isBlocked -> isBanned ; countries component ; fixed pagination ;

* Update user types and file paths

* patch ban / unban

* make messages visible again

* Sharp dep' ; fixed header ; responsivness

Header wasn't collapsing. Fixed.
Installed Sharp dependency for image optimization (handle by nextjs).
Fixed responsivness.
Button to enable/disable fixed columns (email & action) for responsivness purposes.

* fixed header ; responsivness

* Refactor SelectCountry component and add documentation

---------

Co-authored-by: Capryc0rne <[email protected]>

* UX & working on connection chart

UX on loadings states ;

* children to sidebar ; doc datePicker ; update chart on date change

* init Statistics connection
+ log connections
+ api update
+ DB update

* change format YYYY-mm-dd to dd-mm-YYYY

* add "numberConnections : 0"
+ update API

* add average day and value
+ patch +1 day
+ update API

* patch : average null if value = 0

* finished connection chart & average ; layouts ; loadings

* Update DB

* fixed error in root

* fixed dates

* baseURL from .ENV (#16)

* Chart: fixed responsivness & number of days in preview (#17)

* baseURL from .ENV

* fixed responsivness & number of days in preview

* Update header with dashboard link (#18)

* Header with dashboard (#20)

* Update header.tsx

* Update header.tsx

* Update header.tsx

---------

Co-authored-by: Arthur CRAHÉ <[email protected]>

* Conditionnal display of the dashboard element in header (#21)

* Update header.tsx

* User management history (#22)

* commit (temp), RGPD delete user col + DB

* first look History

* page description

* new logo ; user icon fallback in dashboard ; fixed build error ; working on ban user

* PWA & Accessibility

* conditionnal display of sidebar items based on user role

* handle Ban & Unban

* middleware

* working on cookies

* accept cookies finished

* fixed ban user UI

* remove create user

* tooltip with user info

* auto add in history
+ composer update
+ DB change
+ Swagger

+ change isBan by banUntil
+ set BIGINT instead of timestamp

* handle diff use case of history + utils

* history preview in dashboard

* date format

* handle the permanent ban use case

* Patch history + ban
+ password verify

* Update DB

* handle deleted user & fixed pagination & fixed isEmailVerified

* change src images

* fixed alt CESI

* Create user with doc & new middlewares

* add tooltip with user info

* informationS

* create user Modal + button

* icon + responsivness + check on status code + refresh user list

* log history for created user

* conditional display of dashboard elements

* error message
+ validator to 'fr'

* add image when create
+ history create

* fixed ban rules ; fixed ban color ; fixed dates in history

* edit ban timestamp to unix timestamp.

* fixed pagination error

* API update (400 to 422)

* fixed unique key for list child

* A banned user cannot connect.

* some details

---------

Co-authored-by: Capryc0rne <[email protected]>

* Creer ressource (#24)

* Commit modification creer ressource + basée sur dev

* create ressource

- il manque l'ajout de fichiers ( en cours )

* some comments

* comment

* DB file

---------

Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Tristan13R <[email protected]>

* resSource
+ DB
+ API

* Categories + DB (#26)

* List des catégories

* working on component

* do some Categories...

* Add instructions for "CreateUser".

* CR instructions

* working on categories

* Patch Category, uniqueness validation to exclude self

* refresh categories list when modifying

* sidebar & card height

* Create Category front

* delete category

* isActive : checkbox to Switch

* icon & placement of add category

* can change icon

* swagger api doc

* DB: ressources & categories

* preview categories

---------

Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Capryc0rne <[email protected]>

* Tests (#28)

* Ressources

* Rajout front (/creer-ressource, une-ressource/id, /ressrouces)

* Create layout.tsx

* Modification affichage des ressources

Autres points d'améliorations :
- Faire l'affichage d'une ressource (par catégorie)
-Terminer les filtres
-Rajouter des détails

* Update page.tsx

* Modification créer/liste ressource

Rajout envoi de l'idUser et ressource publique (true/false)

* add type
+ DB
+ API v26

* badge number of categories

* Création du back getARessource

* stats/users
+ API
+ CR of ressources

* dashboard & some details

* fix build errors

* add "+1" to view_count

* ressource update live

* CreateRessource
API
DB

* working on create ressource

* withCredentials

* accept/reject
+ API

* [Back-office] Ressource pages

* Ressources pages & middleware

* accept/reject/block
pending
accepted/rejected/blocked
+ API

* subfolder for ressource management

* first look of pending ressources with partial mocks

* accept / reject / block a ressource

* popconfirm on actions

* jsp si j'ai tout cassé
start REFACTO category / ressource
API

* getRessource

* test without mock

* j'ai pas test

* Fixed layout

* Nouvelle hiérarchisation des fichiers

(connected) - (disconnected)

* refacto + add myRessources
+ API

* stats ressources + myRessources
+ API

* Only view profil (update is disable for the moment (not dev) ) (#27)

* Commit des modification sur le profil + branche basée sur dev

* Update général

Rajout layout global pour le front office + rajout dashboard + modification de l'affichage du profil par le user provider + rajout drapeaux sur l'affichage du profil

* Update page.tsx

* update

* Update général fonctionnalité viewUpdateProfil

* Update header.tsx

* Update header.tsx

* Modification du component PasswordInput

Rajout boolean useRegex (true/false)

* Disable bouton "Modifier" car la fonctionnalité n'est pas encore développée

* fixed layouts & folders

* fixed build error

* List of pending ressources in "my ressources"

* Disable modifier on view profil

* UX for disabled modify on profil

* Moved Page Summarry component

* add staffComment
+ API
+ DB

* add staffComment to /block (patch to post)
+ API

* add profile picture random on create / signup
+ DB (new table)

* change route to "ressource/create"
add route edit
+ API

* edit route correction

* delete route
+ API

* change access stats ressource

* edit ressource all field required.

* dashboard preview for ressources stats

* fixed create ressource endpoint

* fixed build error

* comments for refuse & block ressource

* staff comment to ressource type for block & refuse ressource

* Edit a ressource

* UI tabs for mes-ressources

* accepted / blocked / refused ressources

* Change api / user
api / users
api / category

+ API

* remove disabled ressources from sidebar

* delete ressource by moderator +
+ API

* Si la ressource n'est pas acceptée, seul l'owner et le staff peuvent la voir

* delete a ressource & display a ressource

* recommended extensions

* fixed verify email

Since an unverified account can log in, the verification-email page must be accessible to everyone

* Modification viewAndUpdate profile

création composant "changeUserPassword" + modification de la page profil existante

* Update couleur border viewAndUpdateProfile

* Ajout des mentions légales

* refractor ressources accordions

* Rajout des bouton supprimer profil/données profil + récuperer ses données

* Profil : align to left

* edit swagger

* scroll admin sidebar

* List des catégories + affichage des ressources par catégorie

* empty email & password test

* wrong credentials & pipeline

* remove right credentials tests

* Update cypress.yml

* Par pitié le K

* test

* test password visibility

* test empty signup

* Init test
DB ! create the DB and import it before test :)

* fixed middleware

* Display empty element if no ressources to display

* test cookies

* test login right credentials

* dashboard tests

* update layouts, not found page and routing

* button link to homepage

* more tests
Categories test must be based on ressources branch

* Update Test DB

* some tests

* show empty component when no ressources

* remove ressources list from header

remove ressources list from header since ressources are available through the categories

* reroute user based on role

* display modify ressource only if owner

* display list of ressources

---------

Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Capryc0rne <[email protected]>

* Pre prod (#29)

* add staffComment
+ API
+ DB

* add staffComment to /block (patch to post)
+ API

* add profile picture random on create / signup
+ DB (new table)

* change route to "ressource/create"
add route edit
+ API

* edit route correction

* delete route
+ API

* change access stats ressource

* edit ressource all field required.

* dashboard preview for ressources stats

* fixed create ressource endpoint

* fixed build error

* comments for refuse & block ressource

* staff comment to ressource type for block & refuse ressource

* Edit a ressource

* UI tabs for mes-ressources

* accepted / blocked / refused ressources

* Change api / user
api / users
api / category

+ API

* remove disabled ressources from sidebar

* delete ressource by moderator +
+ API

* Si la ressource n'est pas acceptée, seul l'owner et le staff peuvent la voir

* delete a ressource & display a ressource

* recommended extensions

* fixed verify email

Since an unverified account can log in, the verification-email page must be accessible to everyone

* Modification viewAndUpdate profile

création composant "changeUserPassword" + modification de la page profil existante

* Update couleur border viewAndUpdateProfile

* Ajout des mentions légales

* refractor ressources accordions

* Rajout des bouton supprimer profil/données profil + récuperer ses données

* Profil : align to left

* edit swagger

* scroll admin sidebar

* List des catégories + affichage des ressources par catégorie

* empty email & password test

* wrong credentials & pipeline

* remove right credentials tests

* Update cypress.yml

* Par pitié le K

* test

* test password visibility

* test empty signup

* fixed middleware

* Display empty element if no ressources to display

* test cookies

* test login right credentials

* dashboard tests

* update layouts, not found page and routing

* button link to homepage

* useless

* patch category ressources

* Update header.tsx

* Update header.tsx

* to valide tests

* patch category ressources

* working on filter

* filter in my ressources

* empty component if no ressources in a category

* fix filter

* Update page.tsx

* patch category ressources, get public ressources only

* have to be verified to Create / edit a Ressource

* Can filter everywhere

* delete ressource

* cannot create ressource if email not verified

* Update page.tsx

* logo on header

* user info on ressource

* header for disconnected pages

* header for connected or disconnected pages

* add to favorites ; add to bookmark

* Update page.tsx

* Update categoriesPreview.tsx

* ressource data in admin section

* Ressource data

* updte api route

* changed icons and size

* favorites and bookmarks

* loading states

* api route

* fixed type

* Comment !
create / delete

Get it when you load a ressource

DB + API

* list comments

* fr

* succes message ; comment display with format

* ct trop facile kappa

* relative time

* scroll to top button

* responsive

* responsive

* remove ressource history from sidebar

* remove unused pages

* feeback on ressource status

* home page

* Delete vercel.svg

* links to home page

* Update middleware.ts

* Update middleware.ts

* Update categoriesTab.tsx

* edit profil

* nop

* accept/ reject comment
+ db
+ api

* can't edit ressource blocked

* route edit superAdmin

* Revert "route edit superAdmin"

This reverts commit f11c180.

* test editprofil

* update editprofil

* Update UserController.php

* update editprofile for all the other fields

* tests

* patch Comment/create

* patch Comment/delete

* delete comment

* sidebar and pages for comments management

* patch Comment/delete + cascade delete parents

* can accept and refuse comments

* get only comment pending without parent or a parent accepted.

* cancel reply

* Update listOfRessourcesAccordion.tsx

* Update comment.tsx

* Update comment.tsx

* a moderator can delete a comment

* refresh comments list & delete comment

* bookmark page

* Update middleware.ts

* Get accepted comment / not pending

* ressource page

* Update page.tsx

* remove useless console.log

* loading states

* loading state

* editUser Backend

* add ressourceId on get comment

* create "getUserPublicData"

* open ressource from comment

* delete a ressource with comments

* delete a ressource with comments

* Stats comments

* comments preview in dashboard

* Update adminSidebar.tsx

* Rajout des routes codepostal et city + amélioration du code existant

* Rajout possibilité pour l'utilisateur de modifier son mdp

Il manque les conditions / tests / ...

* Rajout des contrôle sur le changement de mdp

* Add cypress tests

(Not finished yet)

* update data & handle loading state

* Change country when update

* Nico 377 - 1 PHP
Rollback refacto : 5772d16

* Update page.tsx

* responsive

* Update page.tsx

* Update page.tsx

* Update tests editUserPage and updateUserPassword

* Update ressourcesAccordionAdmin.tsx

* Update ressourcesAccordionAdmin.tsx

* handle no comments

* Update createCategoryFrom.tsx

* collapsable

* Update page.tsx

* Update ressourcesAccordionAdmin.tsx

* ressource description nullable

* resize textarea

* Update ressourceData.tsx

* strong category title

* Update categoryCard.tsx

* Update fields postal code and city

* Update page.tsx

* category -> categorie

* rename route

* Add disableComment if ressource.status != "accepted"

* reroute when signup

* update placeholder

* Update listOfRessourcesAccordion responsive ressource.label

* responsive

* responsive

* get comments and replies accepted

* Update listOfRessourcesAccordion.tsx

* Reactnode

* page summary responsive

* page summary & fix header & dashboard

* center profil

* Update listOfRessourcesAccordion.tsx

* clear

* Update ressourcesCaroussel.tsx

* Update ressourcesCaroussel.tsx

* Update page.tsx

* Update page.tsx

* metadata

* /Search (main page)
+ API update !!!

* init prod db

* link to ressource

* Link to ressource

* favorite & bookmark

* Update listOfRessourcesAccordion.tsx

* disable Documents

* Update ressourcesAccordionAdmin.tsx

* Update API parce que MONSIEUR ARTHUR est c**

* hihi UI je suis con ^^ :D 👍

* Update page.tsx

* center

* Update page.tsx

* Update page.tsx

* Update page.tsx

* Update listOfRessourcesAccordion.tsx

* count

* viewcount

* RANDOM ADD COUNT

* Update DB prod

* Update ressourcesCaroussel.tsx

* tests

* Update updateUserPassword.cy.ts

* Update editUserPage.cy.ts

* Stats Ressources Count

* Add share ressources button on ressources

* Update API 0.3.0

* patch

* ressources chart

* stats categories

* categories stats

* allow all stats to moderators

* update sidebar

* Update adminSidebar.tsx

* update desc and sidebar

* wcga option

* Update listOfRessourcesAccordion.tsx

* IDK

* Update DB

* tests

* tests

* Search access for everyone

* FIX TESTS

* Add to utils export function

* Update ressources_relationnelles.sql

* add preview card to dashboard

* Update ressourcesChart.tsx

* Create CreateUserSuperAdmin.cy.ts

* Update CreateUserSuperAdmin.cy.ts

* doughnut dashboard

* wcag

* update test createUserfromAdminPage

---------

Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Tristan13R <[email protected]>

* Docker (#36)

* Docker Front

* backend Docker
Db docker
docker-compose.yml with front

* docker compose Nginx

* Allow rights to .env

* https:// ez

* remove ministere

* update docker-compose and nginx

* Update Jenkinsfile run cypress tests

* Update Jenkinsfile

* Update Jenkinsfile

* Update createUserFromAdminPage.cy.ts

* Update createUserFromAdminPage.cy.ts

* update

* .env de ../:)

* Persistance Data

* docker-compose with .env !

---------

Co-authored-by: Tristan13R <[email protected]>
Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: KilianBre <[email protected]>

* Sentry (#37)

* Docker Front

* backend Docker
Db docker
docker-compose.yml with front

* docker compose Nginx

* Allow rights to .env

* https:// ez

* remove ministere

* update docker-compose and nginx

* Update Jenkinsfile run cypress tests

* Update Jenkinsfile

* Update Jenkinsfile

* Update createUserFromAdminPage.cy.ts

* Update createUserFromAdminPage.cy.ts

* update

* .env de ../:)

* front-end sentry

* install sentry

* update sentry

* update DSN

---------

Co-authored-by: Tristan13R <[email protected]>
Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: KilianBre <[email protected]>

* Jenkinsfile (#38)

* Docker Front

* backend Docker
Db docker
docker-compose.yml with front

* docker compose Nginx

* Allow rights to .env

* https:// ez

* remove ministere

---------

Co-authored-by: Capryc0rne <[email protected]>
Co-authored-by: Nicolas C. Capryc0rne <[email protected]>
Co-authored-by: KilianBre <[email protected]>
Co-authored-by: Tristan13R <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants