Skip to content

IndShield is a web application designed to revolutionize industrial safety protocols by leveraging advanced technologies. It empowers organizations to create a safer and more secure work environment for personnel and equipment.

Notifications You must be signed in to change notification settings

SurajSanap/IndShield

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

68 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

IndShield:

Cutting-Edge Web App for Enhanced Industrial Safety

๐Ÿ“– Table of Contents

๐Ÿ” Overview

IndShield is a web application designed to revolutionize industrial safety protocols by leveraging advanced technologies. It empowers organizations to create a safer and more secure work environment for personnel and equipment.

Thanks Banner Typing SVG

๐Ÿ“Š Project Insights

๐ŸŒŸ Stars ๐Ÿด Forks ๐Ÿ› Issues ๐Ÿ”” Open PRs ๐Ÿ”• Closed PRs ๐Ÿ› ๏ธ Languages ๐Ÿ‘ฅ Contributors
Stars Forks Issues Open PRs Closed PRs Languages Count Contributors Count

๐Ÿš€ Video Link

๐Ÿ‘‰ IndShield

Open Source Love svg1 PRs Welcome Built with Love Visitors GitHub Contributors GitHub Last Commit GitHub Repo Size Github

๐Ÿ“ธ Screenshots

Screenshot 2025-04-03 190612

Arc drawio (1)

GSSoC Logo

๐ŸŒŸ Exciting News...

๐Ÿš€ This project is now an official part of GirlScript Summer of Code โ€“ GSSoC'25! ๐Ÿ’ƒ๐ŸŽ‰๐Ÿ’ป We're thrilled to welcome contributors from all over India and beyond to collaborate, build, and grow IndShield! Letโ€™s make learning and career development smarter โ€“ together! ๐ŸŒŸ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ป

๐Ÿ‘ฉโ€๐Ÿ’ป GSSoC is one of Indiaโ€™s largest 3-month-long open-source programs that encourages developers of all levels to contribute to real-world projects ๐ŸŒ while learning, collaborating, and growing together. ๐ŸŒฑ

๐ŸŒˆ With mentorship, community support, and collaborative coding, it's the perfect platform for developers to:

  • โœจ Improve their skills
  • ๐Ÿค Contribute to impactful projects
  • ๐Ÿ† Get recognized for their work
  • ๐Ÿ“œ Receive certificates and swag!

๐ŸŽ‰ I canโ€™t wait to welcome new contributors from GSSoC 2025 to this IndShield project family! Let's build, learn, and grow together โ€” one commit at a time. ๐Ÿ”ฅ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ป

Key Features:

  • Motion Amplification: Identifies subtle equipment movements often invisible to the naked eye, enabling proactive maintenance and preventing unexpected breakdowns.
  • Emergency Alert System: Allows individuals to signal for help by making a specific gesture (L pose) in front of a camera, ensuring prompt assistance in emergency situations.
  • Restricted Zone Enforcement: Utilizes live CCTV feeds and object detection to identify unauthorized access to restricted areas, facilitating timely intervention and enforcing safety protocols.
  • Fire and Safety Gear Detection: Employs machine learning algorithms to identify safety gear worn by personnel and detect potential fire risks in real-time, upholding the highest standards of safety and compliance.

Benefits:

  • Early detection of potential issues minimizes downtime and prevents costly emergency repairs.
  • Enhanced maintenance allows for targeted repairs and optimization of equipment performance.
  • Reduced risk of accidents and injuries by ensuring adherence to safety protocols.
  • Improved response times to emergencies through the use of the alert system.

File Structure

  • _pycache_: This folder is automatically generated by Python and stores compiled bytecode for faster program execution. You don't need to modify its contents.ย 
  • app.py:ย This is the core Python script containing the application logic. It defines routes, handles user interactions, and interacts with other components.
  • instance: This folder is typically used for storing runtime data or configuration specific to a particular instance of the application.ย 
  • models: This folder contains yolov8 models for detection.
  • requirements.txt: This text file lists the external Python libraries required for the application to run. Dependencies like Flask, SQLAlchemy, OpenCV, and YOLOv8 are likely specified here.ย 
  • static: This folder stores static assets used by the application, such as images, CSS stylesheets, and JavaScript code. These files are typically served directly by the web server without involving server-side processing.
  • templates: This folder contains HTML templates used to dynamically generate web pages. The application likely uses a templating engine like Jinja2 to render these templates with data retrieved from the database or user input.

Working

  • Backend: Flask, a lightweight web framework in Python, is likely used to handle user requests, interact with the database, and manage application logic.
  • Database: SQLAlchemy, an object-relational mapper (ORM), simplifies interaction with the database by providing an object-oriented interface.
  • Machine Learning: YOLOv8, a real-time object detection model, is likely employed for features like restricted zone enforcement, fire detection, and potentially gear detection.
  • MediaPipe: This open-source framework might be used for pose estimation in the emergency alert system.
  • OpenCV: This open-source computer vision library is likely used for image and video processing tasks like frame capturing, object detection bounding boxes, and motion amplification.

โš™๏ธ Setup Instructions

1. Clone the Repository

git clone https://github.com/SurajSanap/IndShield.git
cd IndShield

2. Set Up a Virtual Environment

python -m venv venv
source venv/bin/activate   # On Mac/Linux
venv\Scripts\activate      # On Windows

3. Install Dependencies

The project uses Flask, OpenCV, SQLAlchemy, Twilio, etc. Install them:

pip install -r requirements.txt

If you are getting error with any dependancy then just remove it's version from requirements.txt (ex. pandas == 1.22.3 -> pandas) and rerun above 'pip install -r requirements.txt'

4. Set Up Environment Variables

Create a .env file in the project root with values for:

FLASK_SECRET_KEY=your_secret_key
TWILIO_ACCOUNT_SID=your_twilio_sid
TWILIO_AUTH_TOKEN=your_twilio_auth
TWILIO_PHONE_NUMBER=+1234567890
ADMIN_PHONE_NUMBER=+0987654321
GEMINI_API_KEY=your_google_gemini_key

No need to add Twilio config, it's not yet implemented.

5. Prepare Database

The app uses SQLite for:

  • user.db
  • complaint.db
  • cams.db
  • alerts.db

Run migrations:

flask db init
flask db migrate -m "Initial migration"
flask db upgrade

6. Run the App

python app.py

Connecting a Camera via IP Address

You can use the IP Webcam app to connect your camera to the application. Follow these steps:

  1. Install the App Download and install the IP Webcam app from the Google Play Store.

  2. Configure the Camera

    • Open the app and adjust your desired settings (resolution, quality, etc.).
    • Start the server within the app. The app will display an IP address (e.g., http://192.168.1.100:8080).
  3. Connect via the Application

    • Open your application.
    • Enter the displayed IP address and port from the app into the camera connection field.
    • Click Connect to start streaming.
  4. Verify the Connection

    • You should now see the live feed from your camera within the application.

Event Logo Event Name Event Description
GSSoC Ext 24 GirlScript Summer of Code Ext 2025 GSSOC Ext is a Three-month-long open-source program by the GirlScript Foundation

Issue Creation โœด

Report bugs and issues or propose improvements through our GitHub repository's "Issues" tab.

Contribution Guidelines ๐Ÿ“‘

  • Firstly Star (โญ) the Repository
  • Fork the Repository and create a new branch for any updates/changes/issue you are working on.
  • Start Coding and do changes.
  • Commit your changes
  • Create a Pull Request which will be reviewed and suggestions would be added to improve it.
  • Add Screenshots and updated website links to help us understand what changes is all about.

Contributing is fun๐Ÿงก

We welcome all contributions and suggestions! Whether it's a new feature, design improvement, or a bug fix - your voice matters ๐Ÿ’œ

Your insights are invaluable to us. Reach out to us team for any inquiries, feedback, or concerns.

๐Ÿ™ Acknowledgments

  • Thanks to all contributors of this project
  • Special shoutout to GirlScript Summer of Code (GSSoCโ€™25) for the amazing community and support!
  • Built with dedication, collaboration, and lots of chai

๐Ÿ“ž Contact

Feel free to reach out with any questions or feedback!

๐ŸคHow to Contribute

We love contributions from the community! Whether it's a bug report, a new feature, or a documentation improvement, we appreciate your help.

How to Contribute

  1. Fork the repository and create a new branch for your changes.
  2. Make your changes and ensure everything is working as expected.
  3. Submit a pull request with a clear description of your changes.

Found a Bug?

  • Check the issue tracker to see if the bug has already been reported.
  • If not, open a new issue and provide as much detail as possible.

Have a Feature Idea?

  • We'd love to hear it! Open an issue to discuss your idea.

๐Ÿค Contributing

We welcome contributions from developers of all skill levels! Here are some ways you can contribute:

Ways to Contribute

  • ๐Ÿ› Bug fixes - Help us identify and fix bugs
  • โœจ New features - Suggest and implement new functionality
  • ๐Ÿ“š Documentation - Improve our docs and guides
  • ๐ŸŽจ UI/UX improvements - Make the platform more user-friendly
  • ๐Ÿ”ง Performance optimizations - Help make IndShield faster and more efficient
  • ๐Ÿ“ฑ Mobile responsiveness - Improve the mobile experience
  • ๐Ÿ”’ Security enhancements - Help keep user data safe

Thank you to everyone who has made IndShield better! ๐Ÿ’š

๐Ÿ“œ Code of Conduct

Please refer to the Code of Conduct for details on contributing guidelines and community standards.

๐Ÿค๐Ÿ‘ค Contribution Guidelines

We love our contributors! If you'd like to help, please check out our CONTRIBUTING.md file for guidelines.

Thank you once again to all our contributors who has contributed to IndShield! Your efforts are truly appreciated. ๐Ÿ’–๐Ÿ‘

Contributors

Contributors

See the full list of contributors and their contributions on the GitHub Contributors Graph.

Show some Red Heart by starring this awesome repository!

๐Ÿ’ก Suggestions & Feedback

Feel free to open issues or discussions if you have any feedback, feature suggestions, or want to collaborate!

๐Ÿ™Œ Show Your Support

If you find IndShield project helpful, give it a star! โญ to support more such educational initiatives:

  • โญ Starring the repository
  • ๐Ÿฆ Sharing on social media
  • ๐Ÿ’ฌ Telling your friends and colleagues
  • ๐Ÿค Contributing to the project

๐Ÿ“„ License

This project is licensed under the MIT License - see the License file for details.

โญ Stargazers

๐Ÿด Forkers

๐Ÿง‘โ€๐Ÿ’ปProject Admin:

Suraj Sanap
Suraj Sanap

๐Ÿ‘จโ€๐ŸซMentors โ€“ IndShield (GSSoC'25)

Role Name GitHub Profile LinkedIn Profile
Mentor 1 Ashutosh Kumar ashutosh8021 ashutosh80

Glowing Star Give us a Star and let's make magic! Glowing Star

Mirror Ball

๐Ÿ‘จโ€๐Ÿ’ป Built with โค๏ธ by IndShield Team

โค๏ธ Suraj Sanap and Contributors โค๏ธ

Open an Issue | ๐ŸŒŸ Star on GitHub

โฌ†๏ธ Back to Top

Ready to show off your coding achievements? Get started with IndShield today! ๐Ÿš€

About

IndShield is a web application designed to revolutionize industrial safety protocols by leveraging advanced technologies. It empowers organizations to create a safer and more secure work environment for personnel and equipment.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 7