CafePlugGuardian is a capstone design project at the Chung-Ang University's Department of Software Engineering.
Please note that we will not be accepting contributions for CafePlugGuardian, as it is a Capstone Design Project.
- The pin number allows only cafe customers to use the plug, preventing unauthorized use of the plug.
- Limit the amount of electricity to restrict customers who use excessive power or stay for long periods of time.
- By analyzing the current patterns of devices in use, devices not permitted in the cafe, such as smartphones and laptop chargers, are automatically blocked through machine learning.
- CafePlugGuardian-Client
- Cafe Manager App - flutter app
- CafePlugGuardian-WebClient
- Cafe Customer Web - flutter web
- CafePlugGuardian-Server
- Backend server - express.js
- CafePlugGuardian-Hardware
- SmartPlug embedded system - arduino(tasmota open source)
- CafePlugGuardian-ML
- AI model - pytorch, GRU model
- CafePlugGuardian-ML_Server_Flask
- AI server - flask
- MongoDB
- NoSQL DBMS
- In our project, we install and use mongoDB on an ec2 instance.
- Install and run mongoDB, or use a mongoDB server.
- MQTT Broker
- In our project, we install and use mosquitto as an MQTT broker on an ec2 instance.
- You can install another MQTT broker or use a separate broker server if you have one.
CafePlugGuardian-WebClient is a part of CafePlugGuardian project.
It is implemented on the web and can be accessed using the QR code attached to the smart plug(hardware).
Cafe customers can log in by choosing between non-members and members, and mileage service is available when logging in.
The Cafe customers enters the PIN number issued on the receipt and presses the "Charge" button to charge the plug.
You can monitor the power of your plug.
- You can see how much power you have allocated, how much power you have used, and so on.
If the plug is turned off during service use, you can check the plug-off log to see why it was turned off, and you can use it by turning it on again.
-
If the power is exhausted, you can order more menus and get a receipt, press the 'Charge' button and enter your PIN number to recharge the power.
-
When connecting non-acceptable equipment, remove the non-acceptable equipment from the plug and press the 'Reconnect' button to operate the plug normally.
If you use it as a member, you can use the mileage service and order menus through mileage at cafe mileage shop. You can also get mileage based on the amount of remaining power by pressing the 'End of Use' button.
-
Language
- Dart
- Version: 3.1.0
-
Framework
- Flutter
- Version: 3.13.2
-
Development Tools
- Visual Studio Code
- Git
-
Install Dart SDK
-
Install Flutter SDK
-
Install Android Studio or Visual Studio Code (optional)
-
Clone the Project
-
Install Dependencies
-
Connect Chrome
-
Run the Application
If you want to change the API URL address to your backend server address, follow these instructions.
-
lib/services/api_services.dart file has a baseUrl variable. Change that variable to 'your URL address/api'.
This program is licensed under MIT