Giter Club home page Giter Club logo

edm115 / sae-velos-nantes Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 424.4 MB

Final Project of CS year 1 (Database, graphs, stats, and JavaFX app that uses everything)

Home Page: https://darkened-message-974.notion.site/SAE-V-los-de-Nantes-bc61fe047f6b487cb222b0a5f01e18cd?pvs=4

License: MIT License

Python 0.11% Java 5.09% Jupyter Notebook 37.10% HTML 23.07% JavaScript 1.76% CSS 1.52% C 9.12% C++ 3.69% Roff 18.53% Batchfile 0.01% Shell 0.01%
excel java javafx jfoenix jupyter-notebook mysql nantes python stats

sae-velos-nantes's Introduction

SAE Vélos Nantes

Final Project of CS year 1 (Database, graphs, stats, and JavaFX app that uses everything)


How to run the app ?

  1. Download and install MySQL (8.0.33 as we write this). Server, Workbench, Shell and Connector/J are needed for this app, other products aren't mandatory
  2. Go in the MySQL Shell and run the following :
\connect root@localhost
\sql
CREATE DATABASE bd_velos_nantes;
\use bd_velos_nantes
\source SAE_creation.sql
\source SAE_remplissage_Quartier_Compteur_Date.sql
\source SAE_remplissage_Comptage.sql
ALTER TABLE Quartier CHANGE longeurPisteVelo longueurPisteVelo FLOAT;
CREATE USER admin@localhost IDENTIFIED BY 'mdp_admin';
CREATE USER user@localhost IDENTIFIED BY 'mdp_user';
GRANT ALL PRIVILEGES ON bd_velos_nantes.* TO admin@localhost WITH GRANT OPTION;
GRANT SELECT ON bd_velos_nantes.* TO user@localhost;

SQL files :

  1. Go in 2 - Java/2 - Code/Final and open a terminal there
  2. Linux : chmod +x run.sh && ./run.sh (it seems that the class can't be found...)
  3. Windows :
    - CMD : run.bat
    - PowerShell : .\run.bat
    Alternatively, open that folder in VS Code (Ctrl + K, Ctrl + O), get Java JDK 20 installed, and edit the module path in .vscode/launch.json to the /lib folder
    Then go on Run and Debug tab, and F5

How to repack the app after code edits ?

cd ws && jar cfm CycloNantais.jar ../manifest/Manifest.txt -C ../ .

(remove l-jdk-20, w-jdk-20 and any file directly on ./ before packing)
Then, move the folders back and put the newly created JAR from /ws to the root directory

How to start ?

java  --module-path "./lib" --add-modules javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.web,com.google.gson,com.jfoenix --enable-preview --add-exports javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED --illegal-access=permit --add-opens javafx.graphics/com.sun.javafx.scene=com.jfoenix -cp "./CycloNantais.jar;class" frontend.Accueil

Command breakdown :

  • java : Uses java executable to start it. Java 20 needed, builds of it (20.0.1) are on their folders (l-jdk-20 for Linux and w-jdk-20 for Windows, look at the run scripts to know how to use them)
  • --module-path : Specify where the .jar modules are
  • "./lib" : They are in the lib folder relative to the app's root directory
  • --add-modules : Specify which modules we want to add during the app launch
  • javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.web,com.google.gson,com.jfoenix : Adds some JavaFX modules (FXML is probably not needed), JFoenix for Material Design and GSON by Google to handle JSON files
  • --enable-preview : Allows Java preview features to be enabled. Is also needed for weird reasons to launch it through the command line
  • --add-exports : Allows exporting of a package from a module to another module
  • javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED : com.sun.javafx.scene can be exported from javafx.graphics to any other module without restrictions
  • --illegal-access=permit : Permits illegal access to internal/non-public Java APIs. Deprecated starting from Java 17, this is why we have the next option
  • --add-opens : Allows opening a package from a module to another module for reflective access
  • javafx.graphics/com.sun.javafx.scene=com.jfoenix : com.sun.javafx.scene is opened from javafx.graphics to com.jfoenix
  • -cp : Specifies the classpath for the application
  • "./CycloNantais.jar;class" : Takes as input the class directory from the CycloNantais JAR file located in the app's root directory
  • frontend.Accueil : The entry point of that Java application is the Accueil class from the frontend package

Tâches à faire

  • BDD
    • Diagramme de conception
    • Script de création
    • Script de remplissage
    • Requêtes
    • Powerpoint de stats
    • Explications
  • Java
    • Diagramme de conception
    • Dossier ergonomie
    • Code (anglais)
  • Graphes
    • Jupyter Notebook
    • Compte-rendu
  • Stats
    • Jupyter Notebook
    • Diaporama
    • Vidéo
  • Oral
    • Présentation
    • Préparation aux questions

TODO (finito)

  • Page ResultatsRecherche (récupérer les données depuis les paramètres)
  • Intégration Google Maps
  • ResultatsRecherche pour Affluence
  • Style cohérent partout
  • Graphes
  • Partie graphique StationProche
  • Nantes open site
  • saisie/modif de données : récupérer l'affichage du terminal et l'afficher
  • pas admin = message quand on clique sur les boutons saisie/modif
  • popup connexion bdd
  • Gérer les exceptions
  • JavaDoc
  • Page ModificationDonnees
  • Page SaisieDonnees
  • Utiliser utils.WindowDrag()
  • Clean code

sae-velos-nantes's People

Contributors

edm115 avatar euphoriareal avatar imgbotapp avatar mend-bolt-for-github[bot] avatar renovate[bot] avatar stacksharebot avatar

Stargazers

 avatar  avatar

Watchers

 avatar

sae-velos-nantes's Issues

jszip-3.7.1.min.js: 1 vulnerabilities (highest severity is: 7.3)

Vulnerable Library - jszip-3.7.1.min.js

Create, read and edit .zip files with Javascript http://stuartk.com/jszip

Library home page: https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.min.js

Path to dependency file: /2 - Java/2 - Code/R2.01/doc/deprecated-list.html

Path to vulnerable library: /2 - Java/2 - Code/R2.01/doc/jquery/jszip/dist/jszip.min.js,/2 - Java/2 - Code/R2.01/doc/jquery/jszip/dist/jszip.min.js

Found in HEAD commit: a7bd03335a0dedca530709b652f24735e9950586

Vulnerabilities

CVE Severity CVSS Dependency Type Fixed in (jszip version) Remediation Possible**
CVE-2022-48285 High 7.3 jszip-3.7.1.min.js Direct jszip - 3.8.0

**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation

Details

CVE-2022-48285

Vulnerable Library - jszip-3.7.1.min.js

Create, read and edit .zip files with Javascript http://stuartk.com/jszip

Library home page: https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.min.js

Path to dependency file: /2 - Java/2 - Code/R2.01/doc/deprecated-list.html

Path to vulnerable library: /2 - Java/2 - Code/R2.01/doc/jquery/jszip/dist/jszip.min.js,/2 - Java/2 - Code/R2.01/doc/jquery/jszip/dist/jszip.min.js

Dependency Hierarchy:

  • jszip-3.7.1.min.js (Vulnerable Library)

Found in HEAD commit: a7bd03335a0dedca530709b652f24735e9950586

Found in base branch: master

Vulnerability Details

loadAsync in JSZip before 3.8.0 allows Directory Traversal via a crafted ZIP archive.
Mend Note: Converted from WS-2023-0004, on 2023-02-01.

Publish Date: 2023-01-29

URL: CVE-2022-48285

CVSS 3 Score Details (7.3)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: Low

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2023-01-29

Fix Resolution: jszip - 3.8.0

Step up your Open Source Security Game with Mend here

mysql-connector-j-8.0.33.jar: 1 vulnerabilities (highest severity is: 8.3)

Vulnerable Library - mysql-connector-j-8.0.33.jar

JDBC Type 4 driver for MySQL.

Library home page: http://dev.mysql.com/doc/connector-j/en/

Path to vulnerable library: /2 - Java/2 - Code/Final/l-jdk-20/lib/mysql-connector-j-8.0.33.jar,/2 - Java/2 - Code/Final/lib/mysql-connector-j-8.0.33.jar,/2 - Java/2 - Code/Final/w-jdk-20/lib/mysql-connector-j-8.0.33.jar

Found in HEAD commit: a7bd03335a0dedca530709b652f24735e9950586

Vulnerabilities

CVE Severity CVSS Dependency Type Fixed in (mysql-connector-j version) Remediation Possible**
CVE-2023-22102 High 8.3 mysql-connector-j-8.0.33.jar Direct com.mysql:mysql-connector-j:8.2.0

**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation

Details

CVE-2023-22102

Vulnerable Library - mysql-connector-j-8.0.33.jar

JDBC Type 4 driver for MySQL.

Library home page: http://dev.mysql.com/doc/connector-j/en/

Path to vulnerable library: /2 - Java/2 - Code/Final/l-jdk-20/lib/mysql-connector-j-8.0.33.jar,/2 - Java/2 - Code/Final/lib/mysql-connector-j-8.0.33.jar,/2 - Java/2 - Code/Final/w-jdk-20/lib/mysql-connector-j-8.0.33.jar

Dependency Hierarchy:

  • mysql-connector-j-8.0.33.jar (Vulnerable Library)

Found in HEAD commit: a7bd03335a0dedca530709b652f24735e9950586

Found in base branch: master

Vulnerability Details

Vulnerability in the MySQL Connectors product of Oracle MySQL (component: Connector/J). Supported versions that are affected are 8.1.0 and prior. Difficult to exploit vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise MySQL Connectors. Successful attacks require human interaction from a person other than the attacker and while the vulnerability is in MySQL Connectors, attacks may significantly impact additional products (scope change). Successful attacks of this vulnerability can result in takeover of MySQL Connectors. CVSS 3.1 Base Score 8.3 (Confidentiality, Integrity and Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H).

Publish Date: 2023-10-17

URL: CVE-2023-22102

CVSS 3 Score Details (8.3)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: High
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://nvd.nist.gov/vuln/detail/CVE-2023-22102

Release Date: 2023-10-17

Fix Resolution: com.mysql:mysql-connector-j:8.2.0

Step up your Open Source Security Game with Mend here

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

None detected


  • Check this box to trigger a request for Renovate to run again on this repository

jszip-3.7.1.js: 1 vulnerabilities (highest severity is: 7.3)

Vulnerable Library - jszip-3.7.1.js

Create, read and edit .zip files with Javascript http://stuartk.com/jszip

Library home page: https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.js

Path to vulnerable library: /2 - Java/2 - Code/R2.01/doc/jquery/jszip/dist/jszip.js

Found in HEAD commit: a7bd03335a0dedca530709b652f24735e9950586

Vulnerabilities

CVE Severity CVSS Dependency Type Fixed in (jszip version) Remediation Possible**
CVE-2022-48285 High 7.3 jszip-3.7.1.js Direct jszip - 3.8.0

**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation

Details

CVE-2022-48285

Vulnerable Library - jszip-3.7.1.js

Create, read and edit .zip files with Javascript http://stuartk.com/jszip

Library home page: https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.js

Path to vulnerable library: /2 - Java/2 - Code/R2.01/doc/jquery/jszip/dist/jszip.js

Dependency Hierarchy:

  • jszip-3.7.1.js (Vulnerable Library)

Found in HEAD commit: a7bd03335a0dedca530709b652f24735e9950586

Found in base branch: master

Vulnerability Details

loadAsync in JSZip before 3.8.0 allows Directory Traversal via a crafted ZIP archive.
Mend Note: Converted from WS-2023-0004, on 2023-02-01.

Publish Date: 2023-01-29

URL: CVE-2022-48285

CVSS 3 Score Details (7.3)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: Low

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2023-01-29

Fix Resolution: jszip - 3.8.0

Step up your Open Source Security Game with Mend here

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.