Project Idea | CafeWiFi

Project Title: CafeWifi

Introduction
CafeWifi system is an attempt to automate the WiFi access to only customers of the cafe.
In today’s times, cafes have popped out at almost every location across major metropolitan and towns. These cafes now provide complimentary Internet connectivity through WiFi. Generally, we need to ask for the password from the cafe staff. Here is an opportunity to use technology to automate this process where the access to only served customers can be provided while ensuring a timer(if there is a time limit on the WiFi connectivity) besides removing the need to ask the staff for the password. An additional functionality of feedback form in the system can be configured to contribute towards ‘Save Paper’ movement by digitizing the process.

Features

  • Auth token generation system
  • Easy automatic QR Code Generation which will help the customer to connect with the cafe WiFi. The contents of the QR code will be an auth token which will help the user to access the WiFi.
  • Slick UI
  • Feedback form creating capability
  • Optional Setting: If the cafe wants the customer to first submit a feedback form before he can be given access, an optional setting could be provided to do this.
  • Future:To integrate an ML capability to crunch feedback form data and generate actionable metrics and results. For preliminary stages, ‘sentiment’ npm package can be used.

Interfaces

  • An interface for the cafe staff to control internet usage(like parental control) banning the user to search for pornography, drugs and other objectionable content.
  • An interface for the staff to connect and disconnect users to the internet in case the current system(which uses the QR code and auth tokens) fails.
  • An interface for the cafe staff to manage and analyze submitted forms.

System Overview
The system is going to have many components interacting with each other. We will have a touchscreen monitor or a laptop which will run our application. The device which prints the receipt of the order will print the order with a QR code(content of which is an auth token). This auth token will automatically be uploaded to our application too to control and moderate the behavior of the customer on the public WiFi. A front will be used to act as a door or a gateway which will stop the user from accessing the internet without scanning the code or submitting the feedback form. After the auth token has been verified(and in optional cases, the feedback form has been submitted), we will allow the customer with that IP address to consume our internet bandwidth. To moderate the internet usage, we will use ML models and other sources to blacklist all the objectionable content.

Methods to be used:

  • PrintOrderReceipt
    PrintOrderReceipt(orderKeys[]){
     for each element in orderKeys array
        look into the catalogue and print on paper
        enter newline
     call the system setup using 'npm-token' for an auth token;
     get the qr code and print it on paper;
     update the CafeWiFi app with the token generated;
    }
    
  • VerifyAuthToken
    VerifyAuthToken(authToken){
      check if ( authToken === CafeWiFiToken )
         validate the token;
         if ( feedbackFormSubmitRequired )
             redirect to form page;
             submit form;
             connect to internet;      
      else 
         send to qrcode scan page;
    }
    

Tools



  • Node.js
  • MongoDB
  • ‘node-schedule’ npm package for time based connectivity.
  • ‘qrcode’ npm package to generate qr codes.
  • ‘form’ npm package to create, parse and manage forms.
  • ‘npm-token’ npm package for creating tokens.
  • ‘sentiment’ npm package for analyzing feedback
  • ElectronJS, for CafeWiFi system’s GUI .
  • Firebase

Applications

  • In restaurants, cafes, book shops, libraries to manage and analyze feedback while automating internet access.
  • Moderating internet access by banning objectionable surfing and internet use.

Team Members

  • Parikshit Hooda

Note: This project idea is contributed for ProGeek Cup 2.0- A project competition by GeeksforGeeks.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.