Skip to content

Commit

Permalink
0.0.0 Repository template
Browse files Browse the repository at this point in the history
  • Loading branch information
AdamMiltonBarker committed Jun 20, 2021
1 parent 7982a79 commit 25e6687
Show file tree
Hide file tree
Showing 27 changed files with 1,002 additions and 3 deletions.
292 changes: 292 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,292 @@
# Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss
## Contributing To Our Projects

 

Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss encourages and welcomes code contributions, bug fixes and enhancements from the Github community.

The following is a guide on how to contribute to Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss Github projects and **_should be followed in all cases_**.

 

# Table Of Contents

- [Repository Issues](#repository-issues)
- [Bug reports](#bug-reports)
- [Feature requests](#feature-requests)
- [Feature proposals](#feature-proposals)
- [Creating a fork of the repository](#creating-a-fork-of-the-repository)
- [Repository structure](#repository-structure)
- [Documentation](#documentation)
- [Installation Scripts](#documentation)
- [Naming](#documentation)
- [Code Styling Guide](#code-styling-guide)
- [Attribution](#documentation)
- [.md Files](#documentation)
- [Push changes to forked repository](#documentation)
- [Pull requests](#documentation)
- [Pull requests process](#documentation)
- [Code of conduct](#documentation)
- [Our pledge](#documentation)
- [Our standards](#documentation)
- [Our responsibilities](#documentation)



 

# Repository Issues

The first step is to head to our repository issues tab and decide how you would like to contribute.

![Repository Issues](assets/images/repo-issues.png)

## Bug reports

![Bug Reports](assets/images/bug-report.png)

If you would like to contribute bug fixes or make the team aware of bugs you have identified in the project, please raise a **Bug report** issue in the [issues section](issues/new/choose) section. A template is provided that will allow you to provide your suggestions for your bug report / bug fix(es) which will be reviewed by the team.

Bug fix issues are the first step to creating a pull request for bug fixes, once you have created your issue and it has been approved you can proceed with your bug fixes.

## Feature requests

![Bug Reports](assets/images/feature-request.png)

If you would like to suggest a new feature/new features for this project, please raise a **Feature request** issue in the [issues section](issues/new/choose) section. A template is provided that will allow you to provide your suggestions for your feature request.

## Feature proposals

![Bug Reports](assets/images/feature-proposals.png)

If you would like to contribute new features to the project, please raise a **Feature proposal** issue in the [issues section](issues/new/choose) section. A template is provided that will allow you to provide your suggestions for your feature proposal.

 

# Creating a fork of the repository

![Creating a fork of the repository](assets/images/fork.png)
If you are going to be contributing code or documentation to the repository you will need to make a fork of the current development branch. The current development branch will always be the highest branch or master. Once you have created a fork of the repository, you will be able to clone the repository to a location on your development machine using terminal and Git or Github Desktop if using Windows.

 

# Repository structure

```
- Project Root (Directory)
- config (Directory) *
- config.json (File) *
- credentials.json (File) *
- modules (Directory) *
- AbstractAgent.py (File) *
- AbstractData.py (File) *
- AbstractModel.py (File) *
- AbstractServer.py (File) *
- helpers.py (File) *
- data.py (File) *
- model.py (File) *
- mqtt.py (File) *
- server.py (File) *
- docs (Directory)
- installation (Directory)
- Ubuntu
- Windows
- Raspberry Pi OS
- logs (Directory)
- logfiles
- assets
- media
- images (Directory)
- videos (Directory)
- model
- data (Directory) *
- test (Directory) *
- train (Directory) *
- plots (Directory) *
- model.json (File)
- weights.h (File)
- scripts
- install.sh (File)
- agent.py (File)
- Project README (File)
```

 

# Documentation

All projects should have documentation, changes you make to the code in the repository or new projects that you make should also have documentation. In the structures above you can see the **Documentation** directories, and the **Installation** file. This installation file should contain a step by step guide to how to install your project, while directions of use will be a high level tutorial in your project README. If you are contributing an existing repository you will ensure that these documents are updated to reflect your changes.

 

# Installation Scripts

You will notice the **Scripts** directory above, this is home to any scripts that make it easier for the end use to set up and / or use your project. By default every project must have an installation script when installations are required. If you are contributing an existing repository you will ensure that these scripts are updated to reflect your changes.

 

# Naming

We use CamelCase for our directory and file names (except images), we would like this to stay uniform across all of our projects. Please use descriptive but short names where possible, and make sure you do not use spaces in directory and file names.

 

# Code Styling Guide

Code contributed to HIASBCH MQTT Blockchain Agent must follow the [PEP 8 -- Style Guide for Python Code](https://www.python.org/dev/peps/pep-0008/) in order to set a common programming style for all developers working on the code.

# Attribution

Whenever relevant you should add yourself to the contributors section of the READMEs. If you have a public profile on the Peter Moss Leukemia AI Research website, you should use this in your link. Please see the contributing section of any of our READMEs for examples.

 

# .md Files

Each .md file in the repository should use the same header. An example of this is as follows:

```
# Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss
## Acute Lymphoblastic Leukemia oneAPI Classifier
![Acute Lymphoblastic Leukemia oneAPI Classifier](assets/images/all-oneapi-classifier-2020.png)
```
If the .md file is the README in the project root, it should including the following markdown, ensuring the repository URLS and versions are correct.

```
[![CURRENT RELEASE](https://img.shields.io/badge/CURRENT%20RELEASE-0.0.0-blue.svg)](https://github.com/AIIAL/Acute-Lymphoblastic-Leukemia-oneAPI-Classifier/tree/0.0.0) [![UPCOMING RELEASE](https://img.shields.io/badge/CURRENT%20DEV%20BRANCH-0.1.0-blue.svg)](https://github.com/AIIAL/Acute-Lymphoblastic-Leukemia-oneAPI-Classifier/tree/0.1.0) [![Contributions Welcome!](https://img.shields.io/badge/Contributions-Welcome-lightgrey.svg)](CONTRIBUTING.md) [![Issues](https://img.shields.io/badge/Issues-Welcome-lightgrey.svg)](issues) [![LICENSE](https://img.shields.io/badge/LICENSE-MIT-blue.svg)](LICENSE)
```

```
# Contributing
Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss encourages and welcomes code contributions, bug fixes and enhancements from the Github community.
Please read the [CONTRIBUTING](CONTRIBUTING.md "CONTRIBUTING") document for a full guide to forking our repositories and submitting your pull requests. You will also find information about our code of conduct on this page.
## Contributors
- [Adam Milton-Barker](https://www.leukemiaairesearch.com/association/volunteers/adam-milton-barker "Adam Milton-Barker") - [Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss](https://www.leukemiaresearchassociation.ai "Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss") President/Founder & Lead Developer, Sabadell, Spain
 
# Versioning
We use SemVer for versioning.
 
# License
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE "LICENSE") file for details.
 
# Bugs/Issues
We use the [repo issues](issues "repo issues") to track bugs and general requests related to using this project. See [CONTRIBUTING](CONTRIBUTING.md "CONTRIBUTING") for more info on how to submit bugs, feature requests and proposals.
```

The project README contributors should contain a list of all contributors in the entire repository.

 

# Push changes to forked repository

When you have made your changes, you need to push them to your forked repository. This process requires a commit with a message about what your commit is, and then finally a push to the repository which will place your changes or created files to your forked repository.

Show the status of all changed/added files.

```
git status
```

You may want to do check the differences between changed files, you can do this using the following command.

```
git diff
```

Add all changes ready to commit. (You may not want to add all changed files, in this case please follow instructions to add single files to commit that you were shown using git status). To repeat, the following will add all changes shown by using git status to your commit.

```
git add .
```

Commit your changes.

```
git commit -m "Your descriptive commit message"
```

Push changes to your fork.

```
git push
```

You can also Github Desktop if on Windows as shown in the image above.

 

# Pull requests

When you are satisfied with your changes you can submit a pull request that will request that your changes be pulled into the latest development branch.

## Pull Request Process

1. Ensure all documentation has been updated and matches the style of our repository layouts, including repository directory structures etc.
2. Add new README.md files for new directories / ** init **.py files for empty directories.
3. Ensure that your READMEs, documentation and code match the format/design of the rest of the repoistory.
4. Include the project header banner on all documentation pages / READMEs.
5. Incude the Contributing, Versioning, Licensing, Bugs/Issues information in all READMEs and documentation.
6. Do not ever upload licensed software or images that you do not own the rights to.
7. Submit your Pull Request with an accurate description of the changes you have made.
8. Your Pull Request will be reviewed by the team.

 

# Code of conduct

Please note we have a code of conduct, please follow it in all your interactions with the project.

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [email protected] All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

 

# Attribution

This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org/version/1/4), version 1.4.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 Peter Moss MedTech Research Project
Copyright (c) 2021 Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
90 changes: 88 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,88 @@
# HIAS-Bluetooth-IoT-Agent
The HIAS Bluetooth IoT Agent is a bridge between HIAS devices that support Bluetooth/Bluetooth Low Energy protocol and the HIASCDI Context Broker.
# Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss
## HIAS Bluetooth IoT Agent

![HIAS Bluetooth IoT Agent](assets/images/HIAS-Bluetooth-IoT-Agent.jpg)

[![CURRENT RELEASE](https://img.shields.io/badge/CURRENT%20RELEASE-1.0.0-blue.svg)](https://github.com/AIIAL/HIAS-Bluetooth-IoT-Agent/tree/1.0.0) [![UPCOMING RELEASE](https://img.shields.io/badge/CURRENT%20DEV%20BRANCH-2.0.0-blue.svg)](https://github.com/AIIAL/HIAS-Bluetooth-IoT-Agent/tree/2.0.0) [![Contributions Welcome!](https://img.shields.io/badge/Contributions-Welcome-lightgrey.svg)](CONTRIBUTING.md) [![Issues](https://img.shields.io/badge/Issues-Welcome-lightgrey.svg)](issues) [![LICENSE](https://img.shields.io/badge/LICENSE-MIT-blue.svg)](LICENSE) [![PEP8](https://img.shields.io/badge/code%20style-pep8-orange.svg)](https://www.python.org/dev/peps/pep-0008/)
[![Documentation Status](https://readthedocs.org/projects/hias-bluetooth-iot-agent/badge/?version=latest)](https://hias-bluetooth-iot-agent.readthedocs.io/en/latest/?badge=latest)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4983/badge)](https://bestpractices.coreinfrastructure.org/projects/4983)


 

# Table Of Contents

- [Introduction](#introduction)
- [HIAS](#hias)
- [HIAS IoT Agents](#hias-iot-agents)
- [GETTING STARTED](#getting-started)
- [Contributing](#contributing)
- [Contributors](#contributors)
- [Versioning](#versioning)
- [License](#license)
- [Bugs/Issues](#bugs-issues)

 

# Introduction

The **HIAS Bluetooth IoT Agent** is a bridge between HIAS devices that support Bluetooth/Bluetooth Low Energy protocol and the HIASCDI Context Broker.

 

# HIAS

![HIAS - Hospital Intelligent Automation Server](assets/images/HIAS.jpg)

[HIAS - Hospital Intelligent Automation Server](https://github.com/AIIAL/HIAS-Server) is an open-source automation server designed to control and manage an intelligent network of IoT connected devices and applications.

 

# HIAS IoT Agents

The HIAS iotJumpWay Agents are a selection of protocol/transfer specific applications that act as a bridge between the HIAS Context Broker and the devices and applications connected to the HIAS network via the iotJumpWay. Supported protocols currently include HTTP, MQTT, Websockets, AMQP and Bluetooth/Bluetooth Low Energy (BLE).

Each IoT Agent provides a North & South Port interface that allows communication to and from the Context Broker.

<img src="assets/images/southbound.jpg" alt="SOUTHBOUND TRAFFIC (COMMANDS)" width="100%">

__Source: [FIWARE IoT Agents](https://fiware-tutorials.readthedocs.io/en/latest/iot-agent/index.html)__

The North Port interface of an IoT Agent listens to southbound traffic coming from the Context Broker towards the devices and applications.

<img src="assets/images/northbound.jpg" alt="NORTHBOUND TRAFFIC (MEASUREMENTS)" width="100%">

__Source: [FIWARE IoT Agents](https://fiware-tutorials.readthedocs.io/en/latest/iot-agent/index.html)__

The IoT Agent sends southbound traffic to devices and applications using a protocol that is supported by the device/application, and receives northbound traffic from the devices/applications which it then forwards to the Context Broker.

&nbsp;

# GETTING STARTED

To get started follow the [Getting Started](docs/getting-started.md) guide.

&nbsp;

# Contributing
Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss encourages and welcomes code contributions, bug fixes and enhancements from the Github community.

Please read the [CONTRIBUTING](CONTRIBUTING.md "CONTRIBUTING") document for a full guide to forking our repositories and submitting your pull requests. You will also find information about our code of conduct on this page.

## Contributors
- [Adam Milton-Barker](https://www.leukemiaairesearch.com/association/volunteers/adam-milton-barker "Adam Milton-Barker") - [Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss](https://www.leukemiaresearchassociation.ai "Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss") President/Founder & Lead Developer, Sabadell, Spain

&nbsp;

# Versioning
We use SemVer for versioning.

&nbsp;

# License
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE "LICENSE") file for details.

&nbsp;

# Bugs/Issues
We use the [repo issues](issues "repo issues") to track bugs and general requests related to using this project. See [CONTRIBUTING](CONTRIBUTING.md "CONTRIBUTING") for more info on how to submit bugs, feature requests and proposals.
Loading

0 comments on commit 25e6687

Please sign in to comment.