Commit Graph

865 Commits

Author SHA1 Message Date
Emmanuel Pelletier
bb6f111381 📌(frontend) pin wouter dep that was forgotten
following this project's choice of pinning everything,
missed this one
2024-07-03 11:16:00 +02:00
Emmanuel Pelletier
33dbaedf2f 💚(frontend) do not run panda codegen on npm install/npm ci
panda needs to generate types to work. We used to generate those after
deps install but it's not that necessary, since we generate them before
running the dev env, and before building the prod build.

This fixes the `npm ci` error in the frontend docker build
2024-07-03 11:10:16 +02:00
Emmanuel Pelletier
e3eb3e240a ♻️(frontend) starting a bit more structured frontend app
the idea is to use react aria, panda-css, react query and wouter as a
base, in addition to livekit react components

this is still mostly wip but it's usable:

- homepage shows a login link to create a room
- before joining a room you are asked to configure your audio/video/user
name
- note that if you directly go to a a conference url it creates it even
if you are not logged in… very secured!
2024-07-02 20:31:42 +02:00
antoine lebaud
af3ab37b53 🔧(helm) adapt helm chart
Done:
- Rename all occurrences of "impress" to "meet".
- Update Agent Connect secrets credentials for the dev environment.
- Add new development secrets for LiveKit.
- Remove Minio from the dev stack (no cold storage required).
- Add LiveKit chart to the stack.
- Remove templates and values related to the WebSocket server.

The integration of LiveKit was inspired by an example from the "numerique-gouve/infrastructure" repo.
However, a notable issue persists with LiveKit's default chart: we are unable to override
the namespace, resulting in all LiveKit components running in the default namespace.

thx to @rouja for his help.
2024-07-02 19:36:09 +02:00
antoine lebaud
5efbafa436 🎨(frontend) reorganize package.json dependencies
Sort the frontend dependencies, to avoid any undesired diff while
running npm install.
2024-07-02 17:09:43 +02:00
antoine lebaud
35ebc5a608 🔧(frontend) pass host and port through environment vars
Configured the frontend to use environment variables (prefixed with "VITE_") for frontend
port and host configuration, which will be overridden in the Helm chart values
to ensure correct values are used in different environments.

Helm requires the frontend port to be 8081 and use the public host,
not the default "localhost" value.
2024-07-02 17:07:17 +02:00
antoine lebaud
f85a1efa29 🔧(frontend) pass API and LiveKit server URLs through environment vars
Configured the frontend to use environment variables (prefixed with "VITE_") for API
and LiveKit server URLs, which will be overridden in the Helm chart values
to ensure correct URLs are used in different environments.
2024-07-02 16:22:36 +02:00
antoine lebaud
f051938ace (frontend) introduce frontend Docker image
Inspired by the Docker images from numerique-gouv/people and numerique-gouv/impress
(see commit 1a3b396 in the "people" repository).

Due to the lack of a certified cold storage solution (e.g., S3) for serving static files,
we've containerized the frontend as a temporary deployment solution.

Vite.js static output is served using an Nginx reverse proxy.

I am not quite sure of this commit, please @manuhabitela could you review how I exposed
the static build from vite in my Nginx server? and do the appriopriate fix if necessary.
2024-07-01 20:35:47 +02:00
antoine lebaud
847ad709c5 🚨(frontend) fix TypeScript errors to enable successful build
Resolved minor TypeScript errors in the Proof of Concept (PoC)
that were causing the "npm run build" command to fail.

These fixes were necessary to prepare the frontend for
containerization with Docker.

ASAP, a CI step will prevent these kind of errors.
2024-07-01 20:34:08 +02:00
lebaudantoine
e395f9a53e 🚚(frontend) rename Impress to Meet
I have updated all references of "Impress" to "Meet".
2024-07-01 14:53:23 +02:00
lebaudantoine
a111b615e8 🚚(frontend) delete useless nesting
Update frontend to be the root folder of the frontend sources,
instead of nesting them in a folder named as the application.

We only work on a single frontend app as of today, nesting
sources doesn't add any value, even though the initial organization
was more extensible.
2024-07-01 14:34:19 +02:00
lebaudantoine
afc3256ae1 💩(frontend) add PoC calling LiveKit server with an access token
This code is shit. It was made to play with the API.
@manuhabitela, the floor is yours.
2024-06-26 01:03:43 +02:00
lebaudantoine
e66dbd163a (frontend) add LiveKit dependencies
LiveKit offers various React components as building blocks to build any
video or audio conference tools.

It also requires to install a LiveKit client, as the users will connect
to the LiveKit server once the backend have issued an Access Token,
directly from their web browsers.
2024-06-25 16:06:52 +02:00
lebaudantoine
54e4bbcd06 (frontend) add login/logout Authorization Code flow
Quick and dirty code to initiate a login or logout flow based on
user's click.

The code is copied/pasted from several sources of Impress. It's dirty,
and meant to be refactored.

It asserts the login and logout are still functional while introducing
new features in the project.
2024-06-25 13:12:25 +02:00
lebaudantoine
350a3cbd80 (frontend) create Vite app using npm
Run the command 'npm create vite@latest' to bootstrap a new frontend project.
Please note, other elements of the project still use yarn, to avoid confusion
let's use npm instead.

Vite was chosen over Next.Js for its simplicity; Next.Js could be kind of a
black box where a lot of magics happen.
2024-06-25 13:01:02 +02:00