Project Info
This project did not submit a demo video on Devpost.
Inspiration
It's difficult to track where recyclables end up in the world.
What it does
We track recyclables via QR codes on the recyclables when they end up at a recycling plant. If a recycling plant does not have some sort of internet connection, then they can use the Skylo satellite IoT device network.
How we built it
We used React.JS, Reflex.Dev, Amazon Web Services EC2, Google Firebase, and Skylo.
Challenges we ran into
We attempted to connect the Skylo satellite network.
Accomplishments we're proud of
Successfully built 3 web applications and successfully set up UDP servers for data transmission.
Analysis
View
Metric
- 9
- 2
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FirebaseIn code
- HTMLIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
8 of 8 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
91 KB
Source files
54
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
AbdurAziz/RecycleMagic
90 files · 2.8 MB · @ 435512b
Structure
Interface
11 files · 12%Screens, components and styles rendered to the user.
Application logic
34 files · 38%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript81%
- Markdown7%
- Python6%
- HTML4%
- CSS2%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
DashboardApp/.web/package.json
npm · 22- @babel/standalone
- @emotion/react
- @radix-ui/themes
- axios
- gridjs
- gridjs-react
- json5
- lucide-react
- next
- next-sitemap
- next-themes
- react
- react-dom
- react-focus-lock
- socket.io-client
- sonner
- universal-cookie
- +5 more
RecycleStaffApp/recycle-staff-scanner/package.json
npm · 16- @emotion/react
- @emotion/styled
- @fontsource/roboto
- @mui/icons-material
- @mui/material
- @mui/styled-engine-sc
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- @yudiel/react-qr-scanner
- firebase
- react
- react-dom
- react-scripts
- styled-components
- web-vitals
QRScannerApp/qr-scanner-app/package.json
npm · 15- @emotion/react
- @emotion/styled
- @fontsource/roboto
- @mui/material
- @mui/styled-engine-sc
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- @yudiel/react-qr-scanner
- firebase
- react
- react-dom
- react-scripts
- styled-components
- web-vitals
DashboardApp/requirements.txt
pypi · 1- reflex
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
Dashboard displays waste bin, bottle, and tank status via pandas and FirestoreVerified
Dashboard tracking of recyclables and plant status
Claimed on readmehigh confidenceDashboardApp/recyclemagic/recyclemagic.py:21— fetch_waste_data/fetch_tank_data/fetch_data pull Firestore collections into pandas DataFrames, rendered via rx.data_table for bin_id/type/status, bottleID/status, tank/status
Firestore-backed lookup of recycling info by QR codeVerified
QR codes are used to look up recycling/tracking info for a recyclable
Claimed on readmehigh confidenceQRScannerApp/qr-scanner-app/src/components/ResultScreen.js:49— getDoc fetches Firestore document keyed by parsed collection/docID from the scanned QR value and renders how-to, nearestCenter, origin fields
Google Firebase integrationVerified
Built with Google Firebase
Claimed on Devposthigh confidenceQRScannerApp/qr-scanner-app/src/configuration.jsx:4— Contains a live firebaseConfig object (apiKey, projectId recyclemagic-3728d, etc.) used by firebase/firestore calls in ResultScreen.js and ScannerScreen.jsDashboardApp/recyclemagic/recyclemagic.py:5— firebase_admin and firestore.client() used server-side to read Firestore data with a service account credential file
Pandas data processingVerified
Built with pandas
Claimed on Devposthigh confidenceDashboardApp/recyclemagic/recyclemagic.py:4— import pandas as pd; Firestore query results are converted to pd.DataFrame and passed to rx.data_table
QR code scanning of recyclablesVerified
Track recyclables via QR codes when they end up at a recycling plant
Claimed on Devposthigh confidenceQRScannerApp/qr-scanner-app/src/components/ScannerScreen.js:6— Uses @yudiel/react-qr-scanner Scanner component to scan QR codesRecycleStaffApp/recycle-staff-scanner/src/components/ScannerScreen.js:27— handleScan parses QR rawValue into Firestore collection/doc and updates status to 'recycled'
React.js web apps (QR scanner and staff scanner)Verified
Built with React.JS
Claimed on Devposthigh confidenceQRScannerApp/qr-scanner-app/src/App.js:1— React app scaffolding with components, matching create-react-app structureRecycleStaffApp/recycle-staff-scanner/package.json:1— Separate React app for staff scanner, part of the '3 web applications' claim
Reflex.dev dashboard web appVerified
Built with Reflex.Dev; three web applications were built
Claimed on Devposthigh confidenceDashboardApp/recyclemagic/recyclemagic.py:3— Imports reflex as rx, defines rx.State, rx.App, and pages, matching Reflex.Dev framework usageDashboardApp/requirements.txt:1— reflex==0.6.3 dependency confirms the framework is actually used
Staff app marks bottle as recycled at plantVerified
QR codes on recyclables are tracked when they end up at a recycling plant
Claimed on Devposthigh confidenceRecycleStaffApp/recycle-staff-scanner/src/components/ScannerScreen.js:34— updateDoc sets status: 'recycled' on the Firestore document matching the scanned QR code
UDP server for sensor/data transmissionCode-supported
Successfully set up UDP servers for data transmission
Claimed on Devpostmedium confidenceSensors/udp_server.py:1— A basic UDP socket server that listens on port 5000 and prints received messages, but it is not wired to Firestore, Skylo, or any other part of the app; no client/sensor sending code is present
MongoDB usageClaimed only
Built with mongoto (MongoDB)
Claimed on Devposthigh confidenceSkylo satellite IoT connectivity for offline recycling plantsClaimed only
If a recycling plant lacks internet, it can use the Skylo satellite IoT device network
Claimed on Devposthigh confidenceAWS EC2 deploymentBlocked
Built with Amazon Web Services EC2
Claimed on Devposthigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.