Welcome to IWDS, an Integrated Wireless Detection System developed as part of the 2024 Engineering & Design Project at IIITDM Jabalpur! This project aims to provide a mobile and integrated approach to environmental monitoring, overcoming the limitations of traditional stationary systems. π
Recent industrial incidents, such as the Vishakhapatnam Gas Leak (2020) and the Ennore Ammonia Gas Leak (2022), highlight the limitations of traditional monitoring systems. These systems are often stationary, costly, and lack real-time data capabilities, making them inadequate for widespread and effective environmental monitoring.
- Immobility of Traditional Systems: Limited coverage and high costs.
- Need for Real-time Data: Lack of widespread deployment and data accessibility.
- User-friendly Tools: Essential for citizen science initiatives and broader applications.
- Mobile Platform: Equipped with various sensors to collect environmental data.
- Real-time Alerts: Generates alerts based on air quality levels.
- User-friendly Web App: Provides real-time data access.
- Mobility and Wider Coverage: Enables data collection across diverse locations.
- Multi-parameter Sensing: Measures various environmental parameters.
- Real-time Data Visualization: Access data through a user-friendly mobile web app.
- Diverse Applications: Suitable for personal monitoring, awareness campaigns, and research.
Make sure you have the following installed:
- Node.js (>= 14.x)
- npm (>= 6.x) or yarn (>= 1.x)
-
Clone the repository:
git clone https://github.com/yourusername/iwds.git cd iwds -
Install dependencies:
npm install # or yarn install -
Start the development server:
npm run dev # or yarn dev -
Open your browser and navigate to
http://localhost:3000.
Here's a brief overview of the project's structure:
iwds/
βββ public/
βββ src/
β βββ assets/
β βββ components/
β β βββ Dashboard/
β β β βββ TopBar.jsx
β β β βββ ...
β βββ pages/
β βββ App.jsx
β βββ main.jsx
β βββ ...
βββ .eslintrc.js
βββ package.json
βββ README.md
βββ ...
- TopBar Component: The top navigation bar that includes essential navigation items like "Logout".
const navItems = ["Logout"];
-
ElevationScroll: Adds elevation to the component when the user scrolls.
function ElevationScroll(props) { const { children, window } = props; const trigger = useScrollTrigger({ disableHysteresis: true, threshold: 0, target: window ? window() : undefined, }); return React.cloneElement(children, { elevation: trigger ? 4 : 0, }); }
-
ScrollTop: Scrolls the component to the top when triggered.
function ScrollTop(props) { const { children, window } = props; const trigger = useScrollTrigger({ target: window ? window() : undefined, disableHysteresis: true, threshold: 100, }); }
- PropTypes: Ensure the components receive the correct props.
ElevationScroll.propTypes = { children: PropTypes.element.isRequired, window: PropTypes.func, }; ScrollTop.propTypes = { children: PropTypes.element.isRequired, window: PropTypes.func, };
We welcome contributions! Please read our Contributing Guidelines for more details.
This project is licensed under the MIT License. See the LICENSE file for details.