Conf-Count: Conference Monitoring System based on Image Recognition in Rust

Reading Time: 3 minutes

As you all know Rust Programming is a multi-paradigm system programming language and steadily growing in the market. So, to take advantage of this language, we build this project using its solid concepts like safety and safe concurrency.

Let’s dive into the Architecture first.

Overview Architecture

As of now this project contains Web-Services(API) of Conf-Count. The overall goal of this project is to monitor the conference attendees and keep track of all the conferences held in an organization.
This project is based on Image Recognition, where all the registered user’s image is compared with the present user’s image using AWS Rekognition Service. 
If any registered user is unable to attend the conference, so his conference status will remain Absent and an Email is sent to that user along with his Status and Talk Content.

Apart from this, this project has several functionalities like:

  • User Signup
  • Admin/User Login
  • Add/Update/Delete Conference
  • and so on…

User Roles

  • Signup
  • Login
  • Upcoming Conference Registration
  • Profile Updation

Admin Roles

  • Add/Update/Delete Conference
  • Admin can remove user
  • Manage whole Conf-Count

Technologies Used:

Rust Programming

Rust is blazingly fast and memory-efficient: with no run-time or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages.

AWS Rekognition

AWS Rekognition is an AWS service that helps compare two images and get a similarity score. In Conf-Count we have used CompareFace API of AWS Rekognition that returns a similarity score to Rust as a response.

S3 Bucket

An Amazon S3 bucket is a public cloud storage resource available in Amazon Web Services (AWS) Simple Storage Service (S3), an object storage offering. In Conf-Count we use S3 Bucket to store the User’s image.

MongoDB

MongoDB is a cross-platform document-oriented database program. Classified as a No-SQL database program, MongoDB uses JSON-like documents with the schema.

Hardware Used:

Raspberry Pi

The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. So we have used Raspberry Pi for our project. To work with RPi we first cross-compile our binary according to the RPi’s architecture and then deployed into RPi.

Raspberry Pi Camera

Raspberry Pi camera is used to capture the conference attendee’s image for Image Recognition Process.

Thanks for reading this blog!!!

For more reference and contributing to our open source project Conf-Count, you can visit here.


Knoldus-blog-footer-image
Advertisements

Written by 

Pawan Singh Bisht is the Trainee Software Consultant at Knoldus Software LLP. He has good knowledge of languages C++ and Java, and currently working on Rust. He is always ready to accept new challenges. As a fresher, he always tries to explore the different type of software and tools.

Leave a Reply

Knoldus Pune Careers - Hiring Freshers

Get a head start on your career at Knoldus. Join us!