COS301-SE-2024 / IoT-DIRfram

This project aims to develop software for a Raspberry Pi that automatically executes when connected via USB or UART to retrieve information from an IoT device. The software will gather details such as firmware version, chip model, and voltage usage, compiling them into an XML format.
0 stars 0 forks source link

IoT-DIRfram

code-crafters-logo

code-crafters-logo

Welcome to the GitHub repository for Code Crafter's Raspberry Pi IoT-DirFram project!

Demo 2 Demo 3 Demo 4
countdownmail.com countdownmail.com countdownmail.com

🚀 Project Description

This project aims to develop software for a Raspberry Pi that automatically executes when connected via USB or UART to retrieve information from an IoT device. The software will gather details such as firmware version, chip model, and voltage usage, compiling them into an XML format. This information can be stored onboard the Raspberry Pi or transmitted to another system for analysis.

Website

Follow this link to access our deployed website.

🏅 Badges

GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub branch status GitHub commit activity GitHub commit activity codecov Deployment CI/CD Pipeline CI Pylint Super-Linter Build

Technologies Used

🎥 Demo Video

Watch our project demos:

📄 Functional Requirements (SRS) Document

Access the Functional Requirements document here.

🗂️ GitHub Project Board

Check out our GitHub Project Board for project management: Project Board

👥 Team Members

Quintin d'Hotman de Villiers

Role: Project Manager

Quintin has extensive experience with XML including XML validation such as DTDs and XSDs; styling and DOM manipulation such as XSLTs and XPath; converting and transferring XML data over HTTP in various formats (JSON, HTML) as well as XML database storage using XQuery. He also has experience in working with OOP languages such as C/C++, Python, and Java as well as transferring data across servers and networks using various protocols such as TCP, HTTP, FTP, and LDAP.

Top Programming Languages/Frameworks: Python XML C/C++ JavaScript/Node.js Java

  


Lloyd Creighton

Role: Software Developer

My talents lie in conceptualizing backend programs based on how they should operate and how they will interact with stored data. I am strong in anticipating potential issues that may arise in programs and am meticulous in ensuring the logic of my code is sound. I have a vested interest in AI and Cybersecurity and hope to study these fields further. I operate well under pressure and tend to reassure peers in stressful situations since I believe in the principle that a calm mind produces the best results.

Top Programming Languages/Frameworks: C++ Java React.js PostgreSQL/SQL Python

  


Carter Shin

Role: Testing Engineer

I am a Computer Science student. This has allowed me to gain experience and knowledge in the respective field. I am well-versed in data security, having past experiences with data analytics for the SIU. I have extensive knowledge of web development as I have built Defi DApps on ICP with a React front-end. I have also worked with large teams where I would contribute to both the front-end and back-end.

Top Programming Languages/Frameworks: React Java Python Express.js PostgreSQL

  


Ze-Lin (Daniel) Zhang

Role: Software Developer

I am a driven individual, dedicated to pushing the boundaries of my creativity and creations. My keen eye for people allows me to adapt and collaborate seamlessly with any team dynamic. Specializing in the frontend, I am dedicated to crafting experiences that resonate with users through functionality and elegance. I thrive in environments where my peers motivate each other and allow growth within the group, inspiring the collective to reach new heights. My unwavering effort to my craft ensures that only the best is delivered.

Top Programming Languages/Frameworks: React Native Java Python C++ Flutter/Dart

  


Yi-Rou (Monica) Hung

Role: Dev-Ops

I am a Computer Science student. I excel at communication and teamwork, always striving to ensure the team reaches its goals with excellence. While frontend development is my strength, I'm eager to expand my backend skills to contribute more effectively. I thrive on pushing boundaries and embracing new challenges, constantly seeking opportunities to learn and improve. Working collaboratively, I'm dedicated to supporting the team in achieving its objectives and delivering outstanding results.

Top Programming Languages/Frameworks: Java C++ Python React.js Node.js

  

📂 Git Repository

📁 Git Structure (Mono Repo)

Our repository follows a mono repo structure to organize all project-related files and code in a single repository.

🗃️ Git Organization and Management

We use Git for version control, allowing for collaborative development and easy tracking of changes.

🌿 Branching Strategy

We follow the Git Flow branching model, with main, develop, feature, and release branches to manage development and release processes efficiently.

🏅 Code Quality Badges

📈 Monitoring

We do not have a server for housing the XML data as it is stored locally on the Raspberry Pi for now, and thus don't need to utilize software such as NodePing for monitoring server uptime and performance.

📝 Conclusion

With this comprehensive GitHub documentation, we aim to provide transparency and insight into our project's development process, organization, and team members. We welcome collaboration and feedback from the Course co-ordinators, clients, or any other members involved with the project.

Notes

When Creating a branch, please base it off Dev and push it to Dev, not main when merging. Please also put the readme in a .gitignore file