Skip to content

pedro742k2/face-recognition-backend

Repository files navigation

🧐 Face Recognition App

Note:

  • This is the Backend repository of the Face Recognition App, to access the Frotnend code click here

Screenshots

  • Signin

signin

  • Register

register

  • Home

home

  • Face Recognition

face_detection

  • Profile Modal (Edit user info)

profile-modal

🤖 What is the Face Detection App meaning?

Face Detection App is meant to detect and quantify the number of people's faces in a photo. Although it's still in development, the Face Detection App is here to show off my skills with API data manipulation and React.js, JS and CSS skills by outlining the image detected faces inside boxes.

The Face Detection App also has a login/register system with profile credits, which are incremented in every successful API call.

How to visit the project

🌎 Face Recognition API is available online as a demo

🏠 But if you want to test it locally and make changes to the code (with Docker)

  • Clone this repository to the desired directory
  • Inside the project root directory:
    • Create an environment variables file called .env and, inside of it, add CLARIFAI_API_KEY with your Clarifai API key, JWT_SECRET with something random that comes to your mind and POSTGRES_PASSWORD with the PostgreSQL database password that you desire. In the end, it should look like this:

    • Folder and .env file structure:

      file  env folder

      file  env

    • On the routes.js file (located at: src/routes.js) comment the ssl object as indicated (line 36) to run the local psql database successfully.

      psql
    • After setting up the environment, just run docker-compose up --build and the server + databases will be running automatically, with already two mock users created (./database/mocks/seed.sql).

🤝 Contributions and feedback

  • 🛠️ If you have any suggestions, want to report an issue or give general feedback, feel free to make a pull request or send me an email with the suggestion or detailed description of the problem 😀.

💻 Technologies

Frontend (Repository)

  • React.js;
  • Tachyons;
  • Animate.css;
  • Lottie web animations.

Backend

  • Node.js;
  • Express;
  • Bcrypt;
  • Databases: PostgreSQL, Redis;
  • Knex and PG for the database connection;
  • Docker;
  • JWT.

Services

  • Clarifai face detection API