Code Monkey home page Code Monkey logo

fuskar-backend's Introduction

Fuskar

This is a facial recognition application built to be deployed on an NVIDIA Jetson Nano It combines the similarity comparison of the FaceNet Model trained on a Siamese network into a django API served to a VueJS frontend

Development

Backend

The API was built using django and face_recognition

    # install redis
    sudo apt-get install redis-server

    # create virtualenv
    mkvirtualenv fuskar
    # install requirements
    pip install -r backend/requirements.txt
    # create postgres database
    sudo su postgres -c "psql -c \"CREATE ROLE fuskar with password 'fuskar';\""
    sudo su postgres -c "psql -c \"CREATE DATABASE fuskardb with owner fuskar;\""
    sudo su postgres -c "psql -c \"ALTER ROLE fuskar WITH LOGIN;\""
    # change directory
    cd backend
    # run migrations
    python manage.py migrate
    # start server
    python manage.py runserver

Frontend

The front end was built using nuxtjs, a progressive vuejs framework that supports server side rendering. Code here

Build Setup

# install dependencies
$ yarn install

# serve with hot reload at localhost:3000
$ yarn dev

# build for production and launch server
$ yarn build
$ yarn start

# generate static project
$ yarn generate

For detailed explanation on how things work, check out Nuxt.js docs.

Usage

  • Turn on the device shown below

device device

  • Use a laptop or phone to connect the device to the device hotspot with the password 'fuskar-owner'
  • Visit the web application on 10.42.0.1

webapplication webapplication

Deploy Plans

  • Create endpoints for student registration and management

  • Create endpoints for course registration and management

  • Create asynchronous tasks for taking attendance and retraining pickled parameter

  • Debug setup for huey where huey does not run tasks

  • Complete NVIDIA jetson Nano setup to install dlib with gpu capabilities

  • Auto start wireless hotspot

  • Allow all incoming traffic on port 80 using ufw

  • Create nginx sites-available script for redirecting traffic from port 80 to the front-end port

  • Back-end (Django) application

    • Auto Switch camera to read from jetson nano streamer

    • Create Daphne service file

    • Create Redis-server broker service file

    • Make sure to start Huey service before Daphne service

    • Tie Huey service start to start Celery service

  • Front-end (Vue) application

    • Create Vue service file

    • Connect to back-end port

    • Crop whitespace out of captured image

    • Create Vue server service file to run on start, depending on django service file

fuskar-backend's People

Contributors

abdulqudus001 avatar dependabot[bot] avatar deven96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fuskar-backend's Issues

No error Message

Remember to add more descriptive message when there's a bad request

Courses model has no name

The model for the courses only has

  • department
  • courses
  • description
  • registered_students
    Add the course name to the model

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.