All Projects → verifid → graph-vl

verifid / graph-vl

Licence: MIT license
Self hosted identity verification layer with GraphQL.

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to graph-vl

node-identif
🔑 Helper class to verify one's identity via personal channels(SMS, Phone, E-Mail and more!)
Stars: ✭ 27 (+8%)
Mutual labels:  identity, verification
yoti-java-sdk
The Java SDK for interacting with the Yoti Platform
Stars: ✭ 13 (-48%)
Mutual labels:  identity, verification
yoti-php-sdk
The PHP SDK for interacting with the Yoti Platform
Stars: ✭ 22 (-12%)
Mutual labels:  identity, verification
Brightid
Reference mobile app for BrightID
Stars: ✭ 101 (+304%)
Mutual labels:  identity, verification
IDVerification
"Very simple but works well" Computer Vision based ID verification solution provided by LibraX.
Stars: ✭ 44 (+76%)
Mutual labels:  identity, verification
indyscan
Hyperldger Indy Transaction Explorer
Stars: ✭ 52 (+108%)
Mutual labels:  identity
eldarica
The Eldarica model checker
Stars: ✭ 41 (+64%)
Mutual labels:  verification
syscall2seccomp
Build custom Docker seccomp profiles for containers by finding syscalls it uses.
Stars: ✭ 71 (+184%)
Mutual labels:  docker-container
yii2-laradock
Laradock pre-configured for Yii2 Framework (https://github.com/LaraDock/laradock)
Stars: ✭ 16 (-36%)
Mutual labels:  docker-container
docker-predictionio
Docker container for PredictionIO-based machine learning services
Stars: ✭ 75 (+200%)
Mutual labels:  docker-container
rust-verification-tools
RVT is a collection of tools/libraries to support both static and dynamic verification of Rust programs.
Stars: ✭ 237 (+848%)
Mutual labels:  verification
Unload
An advanced automatic speedrun load time remover for community verifiers.
Stars: ✭ 20 (-20%)
Mutual labels:  verification
ActiveLogin.Identity
Parsing and validation of Swedish identities such as Personal Identity Number (svenskt personnummer) in .NET.
Stars: ✭ 51 (+104%)
Mutual labels:  identity
factorio
Factorio headless server Docker container
Stars: ✭ 25 (+0%)
Mutual labels:  docker-container
docker
🐳 Official Docker image of the SinusBot for TeamSpeak 3 and Discord.
Stars: ✭ 50 (+100%)
Mutual labels:  docker-container
amcheck
contrib/amcheck from Postgres v11 backported to earlier Postgres versions
Stars: ✭ 74 (+196%)
Mutual labels:  verification
nnv
Neural Network Verification Software Tool
Stars: ✭ 71 (+184%)
Mutual labels:  verification
pcievhost
PCIe (1.0a to 2.0) Virtual host model for verilog
Stars: ✭ 22 (-12%)
Mutual labels:  verification
docker-cheat-sheet
All about docker commands
Stars: ✭ 50 (+100%)
Mutual labels:  docker-container
github-status-updater
Command line utility for updating GitHub commit statuses and enabling required status checks for pull requests
Stars: ✭ 83 (+232%)
Mutual labels:  docker-container

graph-vl

Self hosted identity verification layer with GraphQL.

Introduction

graph-vl is the verification layer of verifid developed with GraphQL. It's the secondary core project other than VL that is responsible from verifying identity cards or passports. Basically it's a self hosted API which has 3 main endpoints. It runs on either Docker or Kubernetes as a container. All endpoints are documented using GraphiQL and project relies on VerifID and other Open Source Python modules.

For storage, it uses Postgres as a database and SQLAlchemy as an object relational mapper. To make it simple DB has only two tables which is enough for this project.

There is only four steps to veriy an identity of a person which you can find those steps below.

  1. Create a user with personal details
  2. Upload user's selfie photo
  3. Take a photo of front page of identity card or passport, then upload
  4. Call verify endpoint and get the result

Requirements

  • Python 3.6+
  • Postgres
  • Run time dependencies requirements.txt
  • Test dependencies requirements.testing.txt

Usage

You need a Postgres instance in your machine our a Docker container that runs database. To pull docker image and start a container

docker pull postgres:11.5
docker run --name postgres -e POSTGRES_SERVER=localhost \
    -e POSTGRES_USER=postgres \
    -e POSTGRES_PASSWORD=postgres \
    -e POSTGRES_DB=postgres \
    -d -p 5432:5432 postgres:11.5
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' postgres
# We will use this IP address when we build or run graph-vl

To run the graph-vl server, please execute the following commands from the root directory

docker build --build-arg PG_SERVER=${POSTGRES_IP_ADDRESS} \
    --build-arg PG_USER=postgres \
    --build-arg PG_PASSWORD=postgres \
    --build-arg PG_DB=postgres \
    -t graphvl .
docker run --rm -it -d -p 8000:8000 --name graph-vl graphvl:latest

For running in a cluster with Kubernetes you can follow the commands below

# Use Docker for minikube
eval $(minikube docker-env)
# Re-build the docker images

# Create developments and pods
kubectl create -f deployment-postgres.yml
kubectl create -f deployment-graphvl.yml

# Create services
kubectl create -f service-postgres.yml
kubectl create -f service-graphvl.yml

# Get url for **graphvl**
minikube service graphvl --url

Interface

image_expolorer image_queries image_mutations

If you run with uvicorn graphvl.main:app after cloning the project all endpoints will be available available on http://127.0.0.1:8000

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].