1118 Commits

Author SHA1 Message Date
Samuel Paccoud - DINUM
65cfe7ff2b (admin) configure a minimum admin with users and teams
We added identities and team accesses as inlines.
2024-01-17 13:37:55 +01:00
Samuel Paccoud - DINUM
8b026078bc (models) make user and authentication work with Keycloak and admin
The admin was broken as we did not worry about it up to now. On the frontend
we want to use OIDC authentication only but for the admin, it is better if
the default authentication works as well. To allow this, we propose to add
an "email" field to the user model and make it the identifier in place of
the usual username. Some changes are necessary to make the "createsuperuser"
management command work.

We also had to fix the "oidc_user_getter" method to make it work with Keycloak.
Some tests were added to secure that everything works as expected.
2024-01-17 13:37:55 +01:00
Anthony LC
e1688b923e 🧑‍💻(makefile) add command to interact with the front
Add command:
- install-front-desk
- start-front-desk-dev
2024-01-17 13:37:55 +01:00
Anthony LC
5aca2c48e3 (app-desk) create a basic feature Teams
As a prove of concept, to check the full process of our token,
we create a basic feature Teams.
This feature can create a team and list all teams.
We use react-query to manage the cache and the request to the API.
2024-01-17 13:37:55 +01:00
Anthony LC
d0b2f9c171 (app-desk) integrate keycloak
Integrate keycloak with the frontend.
We use the keycloak-js library to handle the
authentication and authorization.
We installed Zustand to handle the states of the
application.
We store the token and auth process in authStore.
2024-01-17 13:37:55 +01:00
Anthony LC
bf1b7736bb (keycloak) add keycloak as auth server
Keycloak is a open source identity and access management
for modern applications and services.
- add keycloak server in docker-compose
- add keycloak in frontend
2024-01-17 13:37:55 +01:00
Anthony LC
ae07bc9246 (app-desk) install jest
Jest is a JavaScript Testing Framework, usefull to test React
components and to do unit testing.
2024-01-16 14:26:07 +01:00
Anthony LC
05d9f6430d 🚨(app-desk) add css linter
eslint is not enough for css, so we need a css linter too.
This commit adds stylelint to the project, we configure it
with prettier and add a check during the build process.
2024-01-10 11:14:16 +01:00
Anthony LC
58f99545c0 👷(ci) github action job build-desk
Create the job build-desk in the workflow people.yml.
It will check that the app is linting and building correctly.
2024-01-10 11:14:16 +01:00
Anthony LC
f4ff27636d 💄(app-desk) integrate cunningham design system
Integrate cunningham design system into app desk.
It comes with some boilerplate code that will have to be
adapted to our needs when we will get the design.
2024-01-10 11:14:16 +01:00
Anthony LC
4999472005 🚀(app-desk) generate app Desk with nextjs
Generate the app with nextjs, includes:
- typescript
- eslint
- prettier
- css modules
2024-01-10 11:14:16 +01:00
Jacques ROUSSEL
e4b0ca86e5 👷(ci) fix ci issue with changelog on main
check-changelog should only runs on PR
2024-01-08 08:44:06 +01:00
Marie PUPO JEAMMET
7713225fc8 👷(ci) fix python linting
pylint and ruff weren't reporting linting issues
2024-01-08 08:42:13 +01:00
Jacques ROUSSEL
875b7cd866 👷(ci) fix ci issue with changelog
fix issue with changelog

Test
2024-01-05 17:44:19 +01:00
Samuel Paccoud - DINUM
b5a46eba33 👷(ci) fix CI running in github actions
The CI configuration file was translated from CircleCI to github
actions  a bit too fast and had not been tested yet.
2024-01-05 15:31:43 +01:00
Samuel Paccoud - DINUM
8ebfb8715d 🚨(pylint) make pylint work and fix issues found
Pylint was not installed and wrongly configured. After making
it work, we fix all the issues found so it can be added to our
CI requirements.
2024-01-05 15:31:43 +01:00
Samuel Paccoud - DINUM
eeec372957 (project) first proof of concept based of Joanie
Used https://github.com/openfun/joanie as boilerplate, ran a few
transformations with ChapGPT  and adapted models and endpoints to
fit to my current vision of the project.
2024-01-03 16:31:08 +01:00
Samuel Paccoud - DINUM
2d81979b0a Initialize project 2023-12-10 16:10:06 +01:00