It's a RIA developed with React that enables users to upload an image and receive labels describing its contents, along with their confidence levels.
List all dependencies and their version needed by the project as :
Environment File
The project contains an example of the environment file required for the project. Simply copy it and rename it .env.
VITE_LABELDETECTOR_API_URL=http://localhost:8222/api/v1/labeldetector/
VITE_DATAOBJECT_API_URL=http://localhost:8222/api/v1/dataobject/
VITE_BUCKET_URI=gs://your.test.bucket/
Normally, you just have to change the VITE_BUCKET_URI if you use my RIA2 Backend.
To run this project, you must have Docker Daemon installed.
Go to the main folder.
Execute this command to build our image.
docker build --target development -t "frontend:dev" .
Execute this command to run the container
docker run --name frontend-dev -p 7070:7070 frontend:dev
Go to the main folder.
Execute this command to build our image.
docker build --target production -t "frontend:prod" .
Execute this command to run the container
docker run --name frontend-prod -p 7070:7070 frontend:prod
Go the the project root and run the following command to install the dependencies.
npm i
npm run dev
Go the the project root and run the following command to install the dependencies.
npm i
npm run build && npm run start
.
├── Dockerfile
├── README.md
├── cypress
│ ├── downloads
│ ├── e2e
│ │ ├── UITests.cy.js // frontend tests
│ │ └── UITests.cy.test.js
│ ├── fixtures
│ │ ├── image.png
│ │ └── labels.json
│ ├── screenshots
│ └── support
│ ├── commands.js
│ └── e2e.js
├── cypress.config.js
├── docs // documentation
│ ├── architecture
│ │ └── architecture.drawio.png
│ └── mockups
│ └── V1.png
├── index.html
├── package-lock.json
├── package.json // dependencies
├── postcss.config.js
├── public
│ └── vite.svg
├── src
│ ├── App.jsx
│ ├── assets
│ │ └── css
│ │ └── global.css
│ ├── components // components
│ │ ├── Dragger.jsx // drag and drop component
│ │ ├── LanguageSelector.jsx // language selector component
│ │ ├── QueryParameters.jsx // query parameters component
│ │ ├── RequestForm.jsx // request form component
│ │ └── Results.jsx // results component
│ ├── locales
│ │ └── i18n.js // translation
│ ├── main.jsx
│ └── pages
│ └── home
│ ├── Home.jsx // view
│ └── home.scss
├── tailwind.config.js
└── vite.config.js
How to propose a new feature ?
If you're interested in enhancing this project, you're welcome to:
I use very simple commit rules. The commit message starts with an infinitive verb and describes the added/deleted content clearly in one sentence. If your commit requires two sentences because the code added modifies two things, please make two separate commits. This is to improve readability and also simplify versioning.
By default, there are two branches: main and develop. Main is the branch currently in production, develop is based on the same branch.
To add a new feature, please create a branch from develop using Gitflow. To the Gitflow guide
For any questions or further information, please feel free to reach out to me at: yann.menoud@gmail.com.
This project is licensed under the MIT licence.
You can contact me by email at the following address : yann.menoud@gmail.com or directly on LinkedIn.