Face Recognition is web application which you can use to recognize multiple faces for specified photo. Application is developed using React, Redux, Node, Express as well as a PostgreSQL database.
- Sign up and login (supported validation, JWT and password hashing)
- Detect multiple faces in submitted photo
- Keep track for number of submitted photo and number of recognized faces for every user
- Save and reuse recognized faces from user profile
- Custom URL shortener for saved recognitions
Make sure that Node.js and NPM are installed
Prerequisite
- Create face-recognition PostgreSQL database
- Initialize tables in database using scripts in server/db/scripts folder
- Download nginx to map short URL to original URL
- Open yor
nginx.config
file from nginx/config and add bolded linesserver { listen 80; server_name localhost; location ~* "^/[0-9a-z@]{5,15}$" { rewrite ^/(.*)$ http://localhost:3001/redirect-original-photo/$1 redirect; } }
- Start nginx
- Register to Clarafai to obtain API key for face recognition
- Add
.env
file in /server and update configurationPORT=3001 DB_USER=postgresql_user DB_PASSWORD=postgresql_password DB_NAME=postgresql_db_name CLARIFAI_API_KEY=clarafai_api_key_from_step_5 BASE_SHORT_URL=http://localhost/ JWT_SECRET_KEY=jwt_secret_key
Run
- Install the dependencies using
npm install
- Run
npm start