ashayp22 / Recogg

Rapid classroom/club attendance system || uses Facial Recognition, IoT, Databases, and much more! || created for 7 week summer CS internship in 2020

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contributors GPL-3.0 License Build Version


Logo

Recogg

The first-ever AI-driven, multi-platform, and scalable attendance system
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

Project Image

Even as the world continues to become more dependent on technology that can save time, money, resources, and lives, there is a lack of technological advancements in the time and attendance management field. A recent survey found that 36% of small business owners have never changed their time and attendance system, which have been used to track and monitor when employees start and stop work. In fact, once a time and attendance approach is adopted, many business owners and other people don’t change their method. This means that those people are relying on the same ancient and manual systems from the 19th century.

Although digitizing a time and attendance system may seem insignificant, digitized systems can help to ensure accuracy and minimize errors that can easily happen when employees, teachers, and students are using paper or a spreadsheet. In fact, nearly half of the respondents to the same survey said that the most important reason to invest in a time keeping solution was the efficiency and accuracy of collecting time for payroll reporting. Similar to this, another source stated that "A weak attendance system sabotages a school's instructional strategy and undermines teachers." Thus, while those options appear to be both simple and free, organizations that choose to use a weaker, manual system are missing out on saving time, money, and insight into their workforce that ultimately provides employees and teachers with simplified methods to record their time worked.

So, in order to prove that technology can be used to create an attendance system that can save employers and schools time, money, and resources, we created Recogg, the first-ever AI-driven, multi-platform, and scalable attendance system. Recogg uses:

  • A camera and facial recognition to track attendance, which increases the efficiency and accuracy of attendance tracking
  • A database and storage container to save an organization's attendance data, which provides a secure and organized structure for attendance data
  • A web interface, Raspberry Pi, and LCD screen to display an organization's information, which allows users to interact and monitor the system

Recogg was developed in 7 weeks as an internship project and developed as a concept/prototype for future production-level projects. Please check out the rest of the README if you want to explore our project or get Recogg running on your local machine.

Features

The beauty of Recogg is that it uses the features of multiple components to create a fully-functioning attendance system.

API

  • Accurate Facial Recognition using AWS Facial Rekognition
  • Read/Write User Data to AWS DynamoDB
  • Read/Write/Get Attendance Data (CSV) from AWS S3

Web Interface

  • User Authentication
  • Create/Remove Classrooms
  • Add/Remove Students & Employees
  • Live Attendance Tracking
  • Download Attendance to Local Machine
  • Responsive Design (Web and Mobile Devices)

IoT

  • Accurate Facial Detection
  • Capture Faces using Raspberry Pi Camera
  • Update LCD Screen with Information
  • Turn On/Off using Button
  • Mobile with a Portable Battery

Architecture

This is the E2E architecture diagram with all of the technologies and tools:

Architecture

Built With

Platform Node.js NPM Python Bootstrap Raspberry-Pi HTML CSS JavaScript

This project was built using a variety of programming languages, frameworks, APIs, and databases/storage containers. Here are the technologies broken down by which component used what:

API

Web Interface

IoT

Getting Started

In order to get Recogg started locally, you need to assemble the 3 components individually. Please follow this order when getting started:

  1. Deploy the API
  2. Setup Web Interface
  3. Create the IoT Component

After completing the previous 3 steps, you will have a local web-interface and IoT system and cloud-based API up and running.

Usage

Since Recogg was developed as a prototype, we highly encourage you to continue improving what we have created. Make sure to list us as the original authors, especially if you use any of our code, documentation, or instructions.

Some examples of how Recogg can be expanded:

  • Swap out the Web Interface for a Raspberry Pi Interface
  • Swap out the Camera, Raspberry Pi, and LCD Screen for a mobile device
  • Expand the any of the components by providing additional functionalities

Authors

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Contact

Click me to send an email to the authors.

About

Rapid classroom/club attendance system || uses Facial Recognition, IoT, Databases, and much more! || created for 7 week summer CS internship in 2020

License:GNU General Public License v3.0


Languages

Language:Python 57.2%Language:JavaScript 24.2%Language:HTML 14.2%Language:CSS 4.3%Language:Shell 0.2%