Skip to content

Bellboy-Capstone/System

Repository files navigation

System

CI Codacy Badge Updates Python 3

Embedded Raspberry Pi Program to run on Bellboy devices. Uses pytest and mock for unit tests, and pyup.io to secure dependencies.

Usage

cd bellboy
python main.py [-h]

Status: Starts bellboy services, runs ultrasonic sensor for event. (soon) camera stuff

Development

# Install dependencies (if on Win10 use admin powershell)
pip install -r requirements/REQUIRMEMENTS.txt

# Activate pre-commit, it'll check your files for mistakes before you commit
pre-commit install

To create a new bellboy actor class (that extends generic actor) heres an organization tip:
Divide the class into

  • state modifying methods (private) and
  • message handling methods (public).

Send any response messages in the message handling methods only.
Change Actor's status in the private methods Only.
It will be neat and make testing much easier!

Submitting Work

When adding new features, please use the semantic commit labels so versioning is accurate:

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing or correcting existing tests
  • chore: Changes to the build process or auxiliary tools and libraries such as documentation generation

Off-Target Testing

cd bellboy
python -m pytest tests/

# to enable log prints during testing
python -m pytest -s tests/

Resources

  1. Actor tutorial w/Thespian
  2. Thespian docs
  3. Bellboy System Design Docs