Synthesis Image Noise Detection on Distributed Data : A web app to collect data on noise detection by humans on images. https://diran.univ-littoral.fr/doc
rigwild afb9646eaa Better container centering and fixed getImage and getImageExtracts links | il y a 5 ans | |
---|---|---|
DOCUMENTATION | il y a 5 ans | |
public | il y a 5 ans | |
server | il y a 5 ans | |
src | il y a 5 ans | |
test | il y a 5 ans | |
.dockerignore | il y a 5 ans | |
.editorconfig | il y a 5 ans | |
.eslintrc.js | il y a 5 ans | |
.gitignore | il y a 5 ans | |
LICENSE | il y a 5 ans | |
README.md | il y a 5 ans | |
babel.config.js | il y a 5 ans | |
back.Dockerfile | il y a 5 ans | |
cleanExtracts.js | il y a 5 ans | |
config.js | il y a 5 ans | |
config.messagesId.js | il y a 5 ans | |
docker-compose.frontapp_only.yml | il y a 5 ans | |
docker-compose.yml | il y a 5 ans | |
experimentConfig.default.js | il y a 5 ans | |
front.Dockerfile | il y a 5 ans | |
index.js | il y a 5 ans | |
jsconfig.json | il y a 5 ans | |
package.json | il y a 5 ans | |
webhook_deploy_gogs.js | il y a 5 ans | |
yarn.lock | il y a 5 ans |
A web app to collect data on noise detection by humans on images.
git clone https://gogs.univ-littoral.fr/Prise3D/Antoine_Internship.git
cd Antoine_Internship
Use the following environment variables to configure the application.
Option | Default value | Description | Server | Client |
---|---|---|---|---|
PORT |
5000 |
The port used by the started application | ✅ | ✅ |
SERVE_CLIENT |
true |
Should the server serve client (Fully local application) | ✅ | ⬜️ |
IMAGES_PATH |
./images |
The directory where the images are stored (absolute path if changed ⚠️) | ✅ | ⬜️ |
MONGO_URI |
mongodb://localhost/webexpe |
MongoDB database connection URI | ✅ | ⬜️ |
Configure more deeply the way the app works by modifying config.js.
Option | Default value | Description |
---|---|---|
apiPrefix |
/api |
The url prefix for the API |
imageServedUrl |
/api/images |
The url prefix from where the images are served |
serverPort |
5000 |
The port used by the server |
mongoDatabaseURI |
mongodb://localhost/webexpe |
MongoDB database connection URI |
imagesPath |
./images |
The directory where the images are stored |
serveClient |
true |
Should the server serve client files from the /dist directory |
fileNameConvention |
/^(.*)?_([0-9]{2,})\.(.*)$/ |
File name convention for images |
extractsDirName |
extracts |
Name of the directory containing extracts |
sceneFileNameBlackList |
['config', 'seuilExpe', 'extracts'] |
Files to ignore in scenes |
deleteExtractsCronTime |
0 3 * * * (every day at 03:00 AM) |
Cron time for extracts deletion |
logger |
Logs : logs/server.combined.log Errors : logs/server.error.log |
Default application logger |
wsLogger |
Logs : logs/ws.log Errors : logs/ws.error.log |
WebSocket logger configuration |
dbLogger |
Logs : logs/db.log Errors : logs/db.error.log |
Database logger configuration |
If you want to use the default experiments configurations, you can skip this part, the Dockerfile does it for you.
You can modify the configuration for each mixins, experiments or scene. To do so, you first need to initialize experiment configurations first.
cp -r experimentConfig.default experimentConfig
You can modify the configuration for each mixins, experiments or scene by modifying files in the newly created ./experimentConfig
directory.
You configuration will be copied in the Docker instance.
Linux
PORT=8080 SERVE_CLIENT=true IMAGE_PATH=/var/images docker-compose up
Windows
SET PORT=8080
SET SERVE_CLIENT=true
SET IMAGE_PATH=C:\my\images
docker-compose up
Linux
SERVE_CLIENT=false docker-compose up
Windows
SET SERVE_CLIENT=false
docker-compose up
docker-compose -f docker-compose.frontapp_only.yml up
When using a new version of the project, you need to re-build the application with Docker.
# Server / Server + client versions
docker-compose build
# Client only version
docker-compose -f docker-compose.frontapp_only.yml build
As of now, Windows hosts are not supported due to MongoDB volumes not being mappable to this system.
Install project's dependencies.
yarn install
If this is a production build, set the NODE_ENV
environment variable to production
to enhance performance.
Linux
export NODE_ENV=production
Windows
SET NODE_ENV=production
yarn run server:start
If you specifically want to not start the extracts remover service (extracts are automatically deleted everyday), use the following.
server:start:no-delete-extracts
yarn run server:lint
To use the client, you need to initialize experiment configurations first.
cp -r experimentConfig.default experimentConfig
You can modify the configuration for each mixins, experiments or scene by modifying files in the newly created ./experimentConfig
directory.
Files will be built to the dist/
directory.
yarn run app:build
yarn run app:dev
yarn run app:lint
The app can be automatically deployed when a push event is sent to the master branch using Gogs. Open a port to the web and start webhook_deploy_gogs.js.
WEBHOOK_SECRET=your_webhook_secret WEBHOOK_PORT=5000 SERVE_CLIENT=true PORT=8080 node webhook_deploy_gogs.js
You can pass any parameters to the script, they will be passed to the Docker instance. The following are required.
Option | Description |
---|---|
WEBHOOK_SECRET |
The secret set on Gogs to verify the identity |
WEBHOOK_PORT |
The port the script is listening to |
The docker-compose
script will automatically run tests. Use the following command to run them by hand.
yarn test
The docker-compose
script will automatically build the API documentation. Use the following command to build it by hand.
yarn doc
The documentation is generated to the doc/
directory. If you started the server, the documentation is served at /doc/
.