Skip to content

Merge develop into main - #109

Open
JorisBly wants to merge 70 commits into
mainfrom
develop
Open

Merge develop into main#109
JorisBly wants to merge 70 commits into
mainfrom
develop

Conversation

@JorisBly

Copy link
Copy Markdown
Collaborator

No description provided.

davidgalindo-git and others added 30 commits January 15, 2026 09:48
Merge main into develop
…ature/test_moon_david

# Conflicts:
#	src/components/mapPreview.vue
Replaced the Cesium access token with a placeholder.
feat(): add FastAPI backend for live flight data fetching
* feat:moon asset added

* feat:moved moon above evian and rescaled to make it visible

* fix:cesium functions sources + moon visible from start

---------

Co-authored-by: davidgalindo-git <>
* refactor():Use a proper way to initilaise cesium and viewer

* feat():Create map terrain component

* feat():Component for ion-imagery

* feat():Component for to call all imagery

* feat():Create component for alerts

* feat():Create scene and tileset .js files for their logic

* feat():Create a Tilesets.vue to call all tilesets components

* feat():Create function for camera

* feat():Create function for scene

* feat():Create a compass component

* feat():Create the button to get current location

* feat():Create component to handle all navigations component

* feat():Add function to get a tilset position from any API

* feat():Create a generic tileset component

* feat(): Create the components to contain all tilesets in the scene

* feat(): Create component for terrain

* refactor(): Refactor the mapPreview

* fix(): Bring back removingMoving

* refactor(): Change name of mapPreview to Viewer.vue

* refactor(): Change name of mapTerrain to Terrain.vue

* refactor(): Remove call of Google3dTiles.vue

* refactor(): Remove useless code

* fix(): Add strict comparaison

* refactor(): Put console.error for invalid

* refactor(): Create a Cartesian3 object
* fix(): Make 2d map appear

* feat(): Make moon placed in real place

* refactor(): Extract logic to make Tileset not too specific

* refactor(): Change my ming and create a Moon component with real moon

* refactor(): Remove useless function

* fix(): Remove debugger

* fix(): Remove cesiumPath from VueCesium configuration

* feat(): Put assetid directly in the called component

* feat(): Create function load plane to display plane and can make them fly
omegasofian2304 and others added 29 commits January 22, 2026 13:36
* feat(): Disable scroll wheel zoom

* feat(): Disable the movement with the mouse

* feat(): Remove compass

* feat(): Add joystick for the orientation

* feat(): Add a CompassIndicator and block the movement with the mouse, keep only the change of direction

* fix(): Fix the problem with the camera and the compass indicator

* fix(): Fix the problem with the CompassIndicator

* fix(): Don't allow the zoom with the scroll wheel

---------

Co-authored-by: omegasofian2304 <pn82bby@eduvaud.ch>
* feat(): Add camera zoom using the mouse wheel

* fix(): Update asset id
* feat:"moon view center button"

* refactor:"component name"

---------

Co-authored-by: davidgalindo-git <>
* fix(): Add id to the moon

* fix(): Remove extra \\

* refactor(): function

* feat(): Add new planes

* feat(): Hide get loaction button
* fix:"moon phase debug (but only works on submit form)"

* Replace hardcoded API credentials with environment variables

---------

Co-authored-by: davidgalindo-git <>
* feat(): Feat use emitter to detect when a new location is sended

* feat(): Use tailwind instead of classic css

* refactor(): Align camera controller with compass

* refactor(): Remove legend

* refactor(): Move components in template when IsViewerReady

* refactor(): Move components in template when IsViewerReady

* refactor(): Remove useless w-full

* refactor(): Add z-index

* refactor(): Change positioning and spacing

* refactor(): Make navbar transparent and fixed

* fix(): Use correct name of import
* fix(): Fix a bug with the zoom

* fix(): Fix a bug with the zoom
* feat(): Get current user location

* refactor (): Match name long like the backend instead of lng

* feat(): Use current location for planes

* refactor(): Remove console.log for result when asking api

* refactor(): Add a comment to clarify default lat and long

* fix(): First reassign location before updating planes

* refactor(): Remove french comments and unnecessary

* refactor(): Delete unused addTilesetToScene function

* fix(): Check if viewer is defined before updating planes
* feat(): Add the basics calculations to determine if a plane is in front of the moon

* docs(): Fix a comment
* fix(): Fix a bug with the zoom

* feat(): Add the calculations needed to predict the future position of the aircraft.

* docs(): Modify the unit in the comment
* feat:"sms checkbox template"

* feat:"phone number input if box checked"

* chore:"comments"

* feat:"python email setup"

* refactor:"use email instead of sms"

* feat:"test mail frontend setup"

* refactor:"gmail py file ref"

* refactor:"route ref"

* feat:"test email sent succesfully"

* fix:"send test email button css"

---------

Co-authored-by: davidgalindo-git <>
* fix(): Fix a bug with the zoom

* feat(): Add a log function

* feat(): Add a basic log function with API

* feat(): Send the logs to the backend every 15 seconds

---------

Co-authored-by: Joris Bailly <90181523+JorisBly@users.noreply.github.com>
* feat(): Add gmail app password to .env.example

* feat(): Hide Email component in CoordinateForm for production

* refactor(): Extract email logic outside the component to be able to use it everywhere

* refactor(): Add more informations on the README about the different asset and account to create

* refactor(): Extract models in API/models

* refactor(): Use the extracted models for EmailRequest and Log
* fix(): Fix a bug with the zoom

* Feature/predict (#89)

* fix(): Fix a bug with the zoom

* feat(): Add the calculations needed to predict the future position of the aircraft.

* docs(): Modify the unit in the comment

* feat(): Add a log function

* feat(): Add a basic log function with API

* feat(): detect aircraft in front of the moon

* feat(): Send logs every 30 seconds

* docs(): Add a comment
* feat(): Add plane_ inside of plane id to recognise than it's a plane and note any entities

* feat(): Delete only entities who include plane in their id

* feat(): rollbakc to the same logic as before

* feat(): remove unused checkLastOccurence

* feat(): feat implement prediction for planes

* feat(): Adjust the second for the interval

* feat(): Check each time we add a position if this one is in front of the moon

* feat(): Put 24h in seconds

* feat(): Make scene never stop

* feat(): Use the new version of prediction for plane position calculation

* feat(): Log every 30 seconds
* feat:"moon mini viewer sketch"

* fix:"moon mini viewer cleaned"

* feat:"mini moon silhouette"

* feat:"planes passed to miniviewer, refactored viewer and scene logic to avoid double fetch"

* fix:"overlay debug for fixed display"

* fix:"moon circle highlight"

* refactor:"improve code structure"

* fix:"improve logic with safety checks"

* refactor:"ui improve and css"

* refactor:"6 moons width"

* refactor:"max 20 moon width"

* fix:"atmosphere debug"

* chore:"comments"

* chore:"comments"

* chore:"comments"

* fix:"long to lng"

* fix:"move to middle"

* fix:"move to right"

* fix:"default location if getLocation error"

* fix:"email css"

* refactor:"undo long to lng"

* refactor:" long to lng (works only with lng)"

---------

Co-authored-by: davidgalindo-git <>
* fix(): Detach the check if a plane is in front of the moon

* fix(): Hide Moon mini viewer because of bug

* fix(): Hide broken component for the moment
* feat:added cesium access token

* feat(): Add a navbar

* feat(): Add NavBar to the view

* feat(): Change positioning and sizing

* feat(): Change default heading

* Added moon asset loader. Closes #15

* fix:"Moon asset is now only loaded not added to viewer. Closes #15"

* fix:"erased pasted code"

* feat:added cesium access token

* Added moon asset loader. Closes #15

* fix:added reactive mount check for viewer and cesium before loading asset

* Update Cesium access token in .env file

Replaced the Cesium access token with a placeholder.

* feat(): React to location changes

* chore(): Ignore .env file

* fix(): Fix cached .env

* chore():Add a .env.example file

* feat(): add FastAPI backend for live flight data fetching

* fix(): allow API access from local network

* moon display 3d with start view to south (#24)

* feat:moon asset added

* feat:moved moon above evian and rescaled to make it visible

* fix:cesium functions sources + moon visible from start

---------

Co-authored-by: davidgalindo-git <>

* Feature/Refactoring (#34)

* refactor():Use a proper way to initilaise cesium and viewer

* feat():Create map terrain component

* feat():Component for ion-imagery

* feat():Component for to call all imagery

* feat():Create component for alerts

* feat():Create scene and tileset .js files for their logic

* feat():Create a Tilesets.vue to call all tilesets components

* feat():Create function for camera

* feat():Create function for scene

* feat():Create a compass component

* feat():Create the button to get current location

* feat():Create component to handle all navigations component

* feat():Add function to get a tilset position from any API

* feat():Create a generic tileset component

* feat(): Create the components to contain all tilesets in the scene

* feat(): Create component for terrain

* refactor(): Refactor the mapPreview

* fix(): Bring back removingMoving

* refactor(): Change name of mapPreview to Viewer.vue

* refactor(): Change name of mapTerrain to Terrain.vue

* refactor(): Remove call of Google3dTiles.vue

* refactor(): Remove useless code

* fix(): Add strict comparaison

* refactor(): Put console.error for invalid

* refactor(): Create a Cartesian3 object

* Feature/place moon (#38)

* fix(): Make 2d map appear

* feat(): Make moon placed in real place

* refactor(): Extract logic to make Tileset not too specific

* refactor(): Change my ming and create a Moon component with real moon

* refactor(): Remove useless function

* fix(): Remove debugger

* fix(): Remove cesiumPath from VueCesium configuration

* feat(): Put assetid directly in the called component

* feat(): Create function load plane to display plane and can make them fly

* fix(): Fix import (#39)

* Feature/moon as entities (#44)

* feat(): Make moon as a entity

* feat(): Call new Moon.vue

* feat(): Call component Moon.vue

* Features/fetch planes position (#33)

* feat(): Add vertical rate to the return of `get_flights`

* docs(get_flights): Add more details to the `get_flights` header

* docs(get_flights): Small display change

* docs(get_flights): Add Field Descriptions section

* fetch moon api data (python) and moon phase widget (vue component) (#37)

* feat:moon asset added

* feat:moved moon above evian and rescaled to make it visible

* fix:cesium functions sources + moon visible from start

* feat:fetch Moon data api

* fix:undo log file generation

* feat:added get_moon_data func. Returns datetime, ra, dec and phase for hard coded params.

* fix:start time, stop time and step are external params

* refactor:modified comments and prevent params format errors

* fix:"session request with retries to prevent ssl error + comments"

* feat:"convert ra and dec to cesium and return all necessary info"

* chore:"params comments"

* moon phase assets

* moon phase display

* moon phase assets del

* chore : "moon phase comments and env vars"

* Delete .idea/Planium.iml

---------

Co-authored-by: davidgalindo-git <>

* Moon phase uses reactive lat and lng (#55)

* feat:moon asset added

* feat:moved moon above evian and rescaled to make it visible

* fix:cesium functions sources + moon visible from start

* feat:fetch Moon data api

* fix:undo log file generation

* feat:added get_moon_data func. Returns datetime, ra, dec and phase for hard coded params.

* fix:start time, stop time and step are external params

* refactor:modified comments and prevent params format errors

* fix:"session request with retries to prevent ssl error + comments"

* feat:"convert ra and dec to cesium and return all necessary info"

* chore:"params comments"

* moon phase assets

* moon phase display

* moon phase assets del

* chore : "moon phase comments and env vars"

* fix: "lat and lng variables are reactive to form depending on viewer state"

* Delete .idea/Planium.iml

---------

Co-authored-by: davidgalindo-git <>

* Feature/fetch planes location (#57)

* feat(): Fetch data from api

* feat(): Get Id of the flight

* fix(): Allow cross origin of the front

* feat(): Create a requirements.txt

* feat(): Move plane when received a new position

* feat(): Call the move plane function

* feat(): Get exception and status code when an error occurred

* feat(): Do nothing if an eror occurred during fetch

* feat(): Make run both frontend and backend with one command

* feat(): Update requirments.txt

* feat(): Remove dividing by 1000 for altitude

* feat(): Make request every 30 seconde

* fix(): rename Vcviewer -> mapViewer

* fix(): Remove debugger

* fix(): Remove useless stuff

* fix(): Remove useless billboard

* moon display on real-time position (#58)

* fix: "moon current location"

* refactor: "moon current location improved"

---------

Co-authored-by: davidgalindo-git <>

* Feature/fix plane position (#59)

* fix(): Error breaking

* fix(): Check if viewer.entities is defined

* feat(): Remove planes from viewer when no data received anymore

* feat(): Add future key nneded for opensky fetching with credits

* fix(): Import HTTPException from fastapi

* fix(): Fix command install-all

* chore(): Add requirements and update install-all script

* feat(): Use token from opensky to use credits

* chore(): Add Prerequisites for Cesium and opensky accounts

* refactor(): move adding position in a specific function to isolate it

* chore(): Remove .idea

* chore(): .vscode

* chore(): remove extension.json from .vscode

* Feature/modifiy scene (#60)

* feat(): Disable scroll wheel zoom

* feat(): Disable the movement with the mouse

* feat(): Remove compass

* feat(): Add joystick for the orientation

* feat(): Add a CompassIndicator and block the movement with the mouse, keep only the change of direction

* fix(): Fix the problem with the camera and the compass indicator

* fix(): Fix the problem with the CompassIndicator

* fix(): Don't allow the zoom with the scroll wheel

---------



* chore(): Add commands for linux too

* feat(): Add camera zoom using the mouse wheel (#66)

* feat(): Add camera zoom using the mouse wheel

* fix(): Update asset id

* feat:"moon view center button" (#69)

* feat:"moon view center button"

* refactor:"component name"

---------

Co-authored-by: davidgalindo-git <>

* Feature/fix entities (#74)

* fix(): Add id to the moon

* fix(): Remove extra \\

* refactor(): function

* feat(): Add new planes

* feat(): Hide get loaction button

* fix:"moon phase debug (but only works on submit form)" (#67)

* fix:"moon phase debug (but only works on submit form)"

* Replace hardcoded API credentials with environment variables

---------

Co-authored-by: davidgalindo-git <>

* Feature/refactor view layout (#76)

* feat(): Feat use emitter to detect when a new location is sended

* feat(): Use tailwind instead of classic css

* refactor(): Align camera controller with compass

* refactor(): Remove legend

* refactor(): Move components in template when IsViewerReady

* refactor(): Move components in template when IsViewerReady

* refactor(): Remove useless w-full

* refactor(): Add z-index

* refactor(): Change positioning and spacing

* refactor(): Make navbar transparent and fixed

* fix(): Use correct name of import

* Feature/zoom fix (#81)

* fix(): Fix a bug with the zoom

* fix(): Fix a bug with the zoom

* Feature/get actual position (#83)

* feat(): Get current user location

* refactor (): Match name long like the backend instead of lng

* feat(): Use current location for planes

* refactor(): Remove console.log for result when asking api

* refactor(): Add a comment to clarify default lat and long

* fix(): First reassign location before updating planes

* refactor(): Remove french comments and unnecessary

* refactor(): Delete unused addTilesetToScene function

* fix(): Check if viewer is defined before updating planes

* Feature/calculate plane moon (#75)

* feat(): Add the basics calculations to determine if a plane is in front of the moon

* docs(): Fix a comment

* Feature/predict (#89)

* fix(): Fix a bug with the zoom

* feat(): Add the calculations needed to predict the future position of the aircraft.

* docs(): Modify the unit in the comment

* setup email (#84)

* feat:"sms checkbox template"

* feat:"phone number input if box checked"

* chore:"comments"

* feat:"python email setup"

* refactor:"use email instead of sms"

* feat:"test mail frontend setup"

* refactor:"gmail py file ref"

* refactor:"route ref"

* feat:"test email sent succesfully"

* fix:"send test email button css"

---------

Co-authored-by: davidgalindo-git <>

* Feature/logs (#92)

* fix(): Fix a bug with the zoom

* feat(): Add a log function

* feat(): Add a basic log function with API

* feat(): Send the logs to the backend every 15 seconds

---------



* Feature/refactorig (#93)

* feat(): Add gmail app password to .env.example

* feat(): Hide Email component in CoordinateForm for production

* refactor(): Extract email logic outside the component to be able to use it everywhere

* refactor(): Add more informations on the README about the different asset and account to create

* refactor(): Extract models in API/models

* refactor(): Use the extracted models for EmailRequest and Log

* Feature/calculations predict refactor (#94)

* fix(): Fix a bug with the zoom

* Feature/predict (#89)

* fix(): Fix a bug with the zoom

* feat(): Add the calculations needed to predict the future position of the aircraft.

* docs(): Modify the unit in the comment

* feat(): Add a log function

* feat(): Add a basic log function with API

* feat(): detect aircraft in front of the moon

* feat(): Send logs every 30 seconds

* docs(): Add a comment

* Feature/predict plane position (#90)

* feat(): Add plane_ inside of plane id to recognise than it's a plane and note any entities

* feat(): Delete only entities who include plane in their id

* feat(): rollbakc to the same logic as before

* feat(): remove unused checkLastOccurence

* feat(): feat implement prediction for planes

* feat(): Adjust the second for the interval

* feat(): Check each time we add a position if this one is in front of the moon

* feat(): Put 24h in seconds

* feat(): Make scene never stop

* feat(): Use the new version of prediction for plane position calculation

* feat(): Log every 30 seconds

* Feature/moon zoomed window (#95)

* feat:"moon mini viewer sketch"

* fix:"moon mini viewer cleaned"

* feat:"mini moon silhouette"

* feat:"planes passed to miniviewer, refactored viewer and scene logic to avoid double fetch"

* fix:"overlay debug for fixed display"

* fix:"moon circle highlight"

* refactor:"improve code structure"

* fix:"improve logic with safety checks"

* refactor:"ui improve and css"

* refactor:"6 moons width"

* refactor:"max 20 moon width"

* fix:"atmosphere debug"

* chore:"comments"

* chore:"comments"

* chore:"comments"

* fix:"long to lng"

* fix:"move to middle"

* fix:"move to right"

* fix:"default location if getLocation error"

* fix:"email css"

* refactor:"undo long to lng"

* refactor:" long to lng (works only with lng)"

---------

Co-authored-by: davidgalindo-git <>

* Hotfix/fix plane prediction (#96)

* fix(): Detach the check if a plane is in front of the moon

* fix(): Hide Moon mini viewer because of bug

* fix(): Hide broken component for the moment

* fix(): Comment broken try catch

---------

Co-authored-by: davidgalindo-git <>

Co-authored-by: David Galindo <155019077+davidgalindo-git@users.noreply.github.com>
Co-authored-by: sofian.hussein@eduvaud.ch <sofian.hussein@eduvaud.ch>
Co-authored-by: omegasofian2304 <pn82bby@eduvaud.ch>
* feat:"moon mini viewer sketch"

* fix:"moon mini viewer cleaned"

* feat:"mini moon silhouette"

* feat:"planes passed to miniviewer, refactored viewer and scene logic to avoid double fetch"

* fix:"overlay debug for fixed display"

* fix:"moon circle highlight"

* refactor:"improve code structure"

* fix:"improve logic with safety checks"

* refactor:"ui improve and css"

* refactor:"6 moons width"

* refactor:"max 20 moon width"

* fix:"atmosphere debug"

* chore:"comments"

* chore:"comments"

* chore:"comments"

* fix:"long to lng"

* fix:"move to middle"

* fix:"move to right"

* fix:"default location if getLocation error"

* fix:"email css"

* refactor:"undo long to lng"

* refactor:" long to lng (works only with lng)"

---------

Co-authored-by: davidgalindo-git <>
Co-authored-by: davidgalindo-git <>
* fix(): Simplify

* fix(): switch to for of

* fix(): Minimize size of planes

* refactor(): Put viewer variable into functions
* refactor():Delete div from the level of CoordinateForm.vue

* feat(): Check when email is mounted if there is already a saved email

* feat(): Make the email form hidden if the user want or by default if there is no email provided

* feat(): Add content in EmailRequest model

* feat(): Get infos from the email and put it inside

* feat(): Add content in the params of sendEmail

* feat(): Import getEmail and sendEmail

* feat(): Add await to checkIfPlaneIsCloseToTheMoon function call
* fix(): Change mail message

* fix(): Call checkIfPlaneIsCloseToTheMoon with api informations in parameters

* fix(): Fix the log system with direct write on the disk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants