CPNV-ES-RIA2 / LUIS

RIA_LUIS
MIT License
0 stars 0 forks source link

RIA2 - LUIS

[TOC]

Description

This project is part of the RIA2 course at the Centre Professionnel du Nord Vaudois (CPNV). The goal of this project is to create a Rich Internet Application (RIA) that will interact with the microservices created in the last semester BI1 course (see repository here).

The user will be able to submit an image analyse request to the microservices to obtain the labels of the image.

Getting Started

Beware that this documentation is made for MacOS users. If you are using another OS, you will need to adapt the commands or the installation process.

Pre-requisites

Configuration

In order to develop, you will need to install the dependencies with the following command:

npm install

Compile and Hot-Reload for Development

npm run dev

Compile and Minify for Production

npm run build

Docker

Make sure you are in the lpo-vision folder for the following commands and chose the build according to your environment.

When running the docker container, the web application will be accessible at localhost:8080.

Development build

docker build --target development -t "lpo-vision:dev" .
docker run -p 8080:8080 lpo-vision:dev

Production build

docker build --target production -t "lpo-vision:prod" .
docker run -p 8080:8080 lpo-vision:prod

Testing

Cypress

You can find Cypress tests at cypress/e2e folder.

Cypress tests running

First launch your server with npm:

npm run dev

Then run the Cypress tests headlessly:

npx cypress run

Vitest

You can find Vitest tests inside a __tests__ folder close to their respective component (for example, view/analyes/__tests__).

Vitest tests running

Run tests with npm:

npm run test

Directory Structure

.
├── LICENSE
├── README.md
├── documentation
│   ├── architecture
│   │   ├── architecture_BI-Project.excalidraw
│   │   └── architecture_BI-Project.png
│   └── design
│       ├── lpo-vision-wireframe.fig
│       └── lpo-vision-wireframe.png
└── lpo-vision
    ├── Dockerfile
    ├── README.md
    ├── cypress
    │   ├── e2e
    │   │   └── form.spec.cy.js
    │   ├── fixtures
    │   │   └── porto-lineup.jpg
    │   ├── screenshots
    │   └── support
    │       ├── commands.js
    │       └── e2e.js
    ├── cypress.config.js
    ├── index.html
    ├── jsconfig.json
    ├── package-lock.json
    ├── package.json
    ├── public
    │   └── favicon.ico
    ├── src
    │   ├── App.vue
    │   ├── components
    │   │   ├── TheLocaleDropdown.vue
    │   │   ├── __tests__
    │   │   │   └── TheLocaleDropdown.spec.js
    │   │   └── layout
    │   │       ├── TheHeader.vue
    │   │       └── __tests__
    │   │           └── TheHeader.spec.js
    │   ├── i18n
    │   │   ├── index.js
    │   │   └── languages
    │   │       ├── de.json
    │   │       ├── en.json
    │   │       ├── fr.json
    │   │       └── pt.json
    │   ├── main.js
    │   └── views
    │       └── analyses
    │           ├── TheAnalyseForm.vue
    │           ├── TheAnalyseResult.vue
    │           └── __tests__
    │               ├── TheAnalyseForm.spec.js
    │               └── TheAnalyseResult.spec.js
    └── vite.config.js

21 directories, 34 files

Collaborate

If you want to collaborate to this project, you can fork it and create a pull request. You can also contact me at lpodev@proton.me. Please respect the following guidelines:

License

This project is under the MIT license.

Contact

You can contact me at lpodev@proton.me or create an issue on the repository.