Injiverify is a web interface to verify the validity of the QR / credential using a browser from smartphone / tablet / computer. A user should be able to do primariliy 4 key actions - Scan, Validate, Fetch, Display.
This document contains the following sections:
- Installations
- Folder Structure
- Configuration
- Developer Setup
- Demo Setup
- Troubleshoot
Prerequisites:
-
Node 18
Can be installed using nvm. Run following commands to install node
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash $ nvm install 18
-
Docker
-
Docker Compose
Note: Requires installation of Docker. This step can be skippped if Docker desktop(Windows) is installed as it comes along with docker compose. Please install Docker using above links before proceeding for the installation of docker compose
Once installed, use Docker compose option below to run the Inji Verify application for a quick demo.
Once the repo is cloned, following folders can be found under the inji-verify repository folder:
- helm: folder contains helm charts required to deploy on K8S
- inji-verify: contains the application source code, Dockerfile and docker-compose.yml files
- src (source code)
- Dockerfile
- docker-compose.yml
- ui-test: contains the ui automation tests
The configuration to the Inji Verify application can be passed using the .env file which is present inside the inji-verify folder.
It accepts INTERNET_CONNECTIVITY_CHECK_ENDPOINT and INTERNET_CONNECTIVITY_CHECK_TIMEOUT variables at this moment. These are used to check the availability of the internet connection and can be configured when required. The default values are added in the .env file.
Once the repo is cloned, move into the inji-verify repository folder and run the following command to check out to the develop branch:
cd inji-verify # move into the repository folder
git checkout develop
cd inji-verify # contains source code, Dockerfile and docker-compose.yml
To get a development server up and running, run the following commands:
npm install
npm start
(Note: Make sure that the following commands are run in the directory where Dockerfile is present)
Run the following commands to build and test the application as docker images
docker build -t <dockerImageName>:<tag> .
docker run -it -d -p 3000:8000 --env-file ./.env --name inji-verify-dev <dockerImageName>:<tag>
To build the Docker image locally, use the following command. Ensure you are in the directory containing the Dockerfile:
docker build -t inji-verify:local
Stop and delete the docker containers using the following commands:
docker stop inji-verify-dev
docker rm inji-verify-dev
(Note: Make sure that the following commands are run in the directory where docker-compose.yml file is present)
Use the above image <dockerImageName>:<tag>
in the docker-compose.yml file and run the following commands to run as docker compose:
$ docker-compose up -d # if docker compose is installed as a standalone command.
$ docker compose up -d # if docker compose is installed as a plugin to docker command
To stop the application, run the following command:
$ docker-compose down # if docker compose is installed as a standalone command.
$ docker compose down # if docker compose is installed as a plugin to docker command
Once started, the application is accessible at http://localhost:3000.
This section helps to quickly get started with a demo of the Inji Verify application
Once the repository is cloned, move into the inji-verify repository directory. Choose one of the branches that are currently available for the demo:
release branches:
- release-0.8.x
- release-0.9.x
tags :
- v0.9.0
- v0.8.1
- v0.8.0
active branches:
- master
- develop
cd ./inji-verify # repository folder
git checkout branchName/tagname # choose from any of the above branches
To start the application, run the following commands:
$ cd ./inji-verify # source code folder
$ docker-compose up -d # if docker compose is installed as a standalone command.
$ docker compose up -d # if docker compose is installed as a plugin to docker command
The application is now accessible at http://localhost:3000.
Once the demo is done, cleanup using the following command:
$ docker-compose down # if docker compose is installed as a standalone command.
$ docker compose down # if docker compose is installed as a plugin to docker command
This section contains some common problems that could occur during the setup and steps to resolve then:
no configuration file provided: not found
or
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml, compose.yml, compose.yaml
Make sure that you are in the right directory inji-verify/inji-verify
and the docker-compose.yml file is present in this directory.
Check using ls
command in ubuntu terminal or dir
command in windows command prompt for the contents of the current directory
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3000 -> 0.0.0.0:0: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Try updating the port in the docker-compose.yml file from 3000:80 to <other_port>:80 and try again
ERROR: failed to solve: failed to read dockerfile: no such file or directory
Make sure that you are in the right directory inji-verify/inji-verify
and the Dockerfile is present in this directory.
Check using ls
command in ubuntu terminal or dir
command in windows command prompt for the contents of the current directory
docker engine/socket not available
In Windows: Start/Restart Docker desktop application
In Ubuntu: Run the following command to make sure that the docker service is running
sudo systemctl restart docker.service