This repository holds the code for the Server, Database and UI components for the IoT project SafeSync IoT, for a safer, post-covid workspace.
SafeSync-IoT is a full-fledged Employee Management and IoT driven Contact-Tracing based Workspace Safety solution, with a Cross-Platform Dashboard in Flutter, Client-Server IoT communication, and a self-sufficient, local, SQL-based Database.
-
Utilizes Moor + SQL for a database that works across platforms
-
Utilizes bloc + Provider based State Management Architecture.
-
Utilizes both Material Design and Cupertino elements for UI building, as well as various other Open Source Packages as listed below.
- Run and Extract SafeSync.rar into a writable folder of your choice.
- Run
safe_sync.exe
to begin using the software, while connected to the Workspace network that the Hardware devices are configured to connect to.
- Once the device is successfully connected to the proper network and
safe_sync.exe
is executed, the server automatically begins in the background. - The
Real Time Logs
Tab shows Employee Registration, Attendance, Short Contacts and Dangerous Contacts in Real Time through the data being sent over by the hardware devices. - The
Attendances
Tab shows the number of times the Employees gave attendance (sanitized) throughout the day, using the IoT Sanitization device. The defaulters list is also easily accessible. - The
Statistics
Tab shows Filtered events encountered by particular employees, as well as important tidbits of information like 'Percentage of Dangerous Contacts', 'Last Sanitization', 'Most Sanitized Employee', 'Least Sanitized Employee' etc. - There are also buttons for resetting data, saving current Data in CSV form for easy exporting and sharing, as well as Summarizing Data in relevant windows.
- The Floating Action Button in Home Screen of the app also opens the Sidebar that provides easy access to
Employee Management Screen
using which new employees may be added to keep track of, and other frequently used Features. - Any of the cards in any of the windows may be hovered over and clicked for intuitive editing and viewing of relevant Employee information.
- Internal SQL-based Employee Management Database.
- Real-Time Attendance Tracking.
- Real-Time (IoT utilized) Logs.
- Detailed statistics about Employees and their work ethic.
Real Time Logs: | Employee Safety Statistics: |
---|---|
Dynamic Employee information Storage: | Supporting Utilities: |
---|---|
Full Fledged Employee Management System: |
---|
-
material for UI
-
cupertino and cupertino_icons for UI
-
simple_animations for UI animations
-
page_transition for page transition animations
-
moor and supporting Libraries for Cross Platform SQL Database Handling
- moor2csv for exporting Moor SQL databases to CSV form.
- moor_generator developer dependency that works with moor to turn Table classes from moor into database code
-
sqflite and supporting Libraries for SQL Database 3. sqlite3_flutter_libs helper dependency for sqflite in Flutter 4. sqflite_common_ffi developer dependency that provides SQL ffi File handling capability to desktop platform
-
undo for facilitating Moor based SQL database through bloc State Management
-
bloc and flutter_bloc for State Management
-
provider for less intensive State Management
-
path_provider for File Handling
-
permission_handler (only required to build for mobile devices)
-
url_launcher for launching URLs, including
mailto:
links -
build_runner developer dependency for building Moor database tables
-
build_web_compilers used as a development dependency for users of
package:build
who want to run code in a browser (Flutter Web) -
http package for mock request testing.