Skip to content

Antennae is a free and open source face recognition check-in, loyalty and security app.

License

Notifications You must be signed in to change notification settings

Antmounds/antennae

Repository files navigation

Antennae

pipeline status CircleCI AGPL License Discord Chat

Dockerhub stats

Out-the-box face recognition web app for desktop and mobile. Trust but verify

Introduction

Antennae is a free and open-source face recognition node.js app using AWS Rekognition to detect and match faces. The app allows you to create collections of 'face prints' and later search an image across any number of selected databases. Each search will also return detected emotions, gender, estimated age range, and other facial features such as the presence of glasses, face hair and smiles. Use cases include allowing you to easily and quickly find missing persons, helping the visually impaired, verifying dates and rendevouz, recognizing celebrities, victim identificaion, and so much more!

Check-in stand mode allows you to set this up for point-of-sale, self-service checkin/out, vip recognition, loyalty rewards programs and greet returning guests by name. Simply by being recognized, allow guests to enter queues, pre-order, confirm options and view current status from their Antennae app. The dashboard shows all guests and where they were recognized.

This repo features infrastructure code that will allow you to self-host the application using a containerized, highly available, self-repairing, military grade, secure cloud environment. For a managed SaaS solution check out Antennae Cloud, featuring private and pre-populated public face print databases, teams, white-label and 24/7 support options.

Requirements

Instructions

Clone the repository

$ git clone https://bitbucket.org/Antmounds/antennae.git && cd Antennae/

1) Development

Navigate to src/ directory

$ cd src/

Run Development App

$ meteor --settings='settings.json' App should become available at http://localhost:3000/ This will allow you to save changes with live reloading of the app in the browser.

2) Production

This will build the meteor.js app and then build resulting node.s app as Docker image ready for deployment.

Build meteor app

$ meteor build --directory ../build

Navigate back to root directory

$ cd ../

Build docker image

$ docker build -t antmounds/antennae . Alternatively run .circleci/build.sh. See script for details

Set required MONGO_URL & AWS Environment Variables

$ export MONGO_URL=${YOUR_MONGODB_URI}
$ export AWS_ACCESS_KEY_ID=${YOUR_AWS_ACCESS_KEY}
$ export AWS_SECRET_ACCESS_KEY=${YOUR_AWS_SECRET_KEY}

Run Production App

$ docker run --rm -d -e MONGO_URL=$MONGO_URL -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY --name antennae -p 3000:3000 antmounds/antennae:latest App should become available at http://localhost:3000/ The app is ready to be deployed to a hosted docker runtime.

Build Android App

A prebuilt android sdk can be found here. But these instructions below will show how to build the app yourself. From the src/ directory run meteor build command $ meteor build android

Deployment

This section goes over deploying the docker image to AWS and running it in production with Elastic Container Service (ECS)

1) From infrastructure/ folder, make sure terraform is installed and up-to-date

$ terraform -v

2) Initiate terraform modules

$ terraform init

3) Plan execution

$ terraform plan

4) Deploy resources

$ terraform apply This will create the following resources:

Documentation

  • Read more about the goals and motivations for this project.
  • Follow the getting started guide for basic usage instructions

Contributing

Pull requests, forks and stars are mucho appreciated and encouraged. See CONTRIBUTING.md for how to get involved in this project.

  • Get official Antmounds gear!

  • Become a Supporter!

Get in touch

Authors

License

Copyright © 2018-present Antmounds.com, Inc. or its affiliates. All Rights Reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.