/BigBlueBox

An Inventory Management System for a NYLT Course or other Boy Scout Programs

Primary LanguageC++GNU General Public License v3.0GPL-3.0

BigBlueBox IMS

A Inventory Management System for a NYLT Course or other Boy Scout Programs.
For source code documentation, click here

Travis Build Status Appveyor Build Status Open Issues Closed Issues Code Coverage Version License

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

This project currently uses Qt 5.3.9, with the MSVC2017-64bit kit, and a SQLITE databased backend.


Installing

DB Browser for SQLITE

  1. Download correct version for your system.
  2. Run the installer.
  3. Specify the directory where DB Browser for SQLITE will be installed.
  4. Follow the rest of the installer's prompts.

Qt

  1. Download from website provided.

  2. Run the installer.

  3. Login with a Qt Account or follow the steps provided to create one.

  4. Specify the directory where Qt will be installed. (~30 GB)

  5. Select Components

    1. Select "Qt Creator [version #]"
    2. Expand "Qt" tab.
    3. Select "Qt 5.9.3" or higher.
  6. Follow the rest of the installer's prompts.


Testing

Testing will include continuous integration testing using Travis.ci and regression testing using QtTestLib and Travis.ci.

CI Testing

This is simply ci test. This project uses two online ci services, Travis and Appveyor.

Travis

Travis.ci will use .travis.yml and Shell build scripts to build the project. If any new addtions create compile-time conflicts, they will be shown here.

Click here to see the latest travis.ci build status.

Appveyor

Appveyor will use appveyor.yml to build the project. If any new addtions create compile-time conflicts, they will be shown here.

Build history

Regression Testing

Unit tests written with the QtTestLib will be run on travis.ci. If any tests fail, travis.ci build state will be set to failed. Tests will be exported to Codecov for a coverage report. UI classes will not be tested.
Tests will be verbose and should cover all possible paths within a function.
This project will follow the examples at this link.


Code Coverage

Coverage will be handled by Codecov. The coverage report is generated during the test build in travis.ci. The reports are uploaded from travis back to Codecov. This project has no target coverage percentage, but any tests that can be written should be writen.


Graph of Coverage over Time

Style

This project uses standard C++ style and Doxygen comments on all function prototypes, class definitions and enum definitions. Doxygen comments should only be in .h files. In .cpp files, regular C++ comments should be used.

For more in-depth details regarding style, click here to go to the style page.


Deployment

No deployment plan at this time. Still in development.


Built With


Contributing

Message me if you want to contribute.


Versioning

This project uses SemVer for versioning. For the versions available, see the tags on this repository.


Authors

See also the list of contributors who participated in this project.


License

This project is licensed under the GPL 3.0 License - see the LICENSE.md file for details


Acknowledgments