gbowne1 / gradebook-management-system

This is a C++ Gradebook Management System
MIT License
2 stars 2 forks source link
classroom-management cpp cpp11 education educational-institutions educational-technology grade grade-management gradebook grades k-12 k-12-education k12 school teacher

Gradebook Management System

This is a C++ Gradebook Management System for the Kindergarten and 1st through 12th Grades.

C++

Features

Getting Started

This step describes the prerequisites and install steps for the libraries needed to build and run the project.

Prerequisites

Installing

Currently, there are no install steps that are strictly necessary. However, if you wish to include Google Test in your local library, you may do so by following these steps:

git clone https://github.com/google/googletest.git
cd googletest
cmake -B build .
cd build
cmake --build .
cmake --install .

Building the project

This project is built using CMake and Make. Here is an example on how to build the project:

cmake -B build .
cd build
make

And then run the executable:

cd gradebook
./gradebook

Generating the documentation

The documentation can be generated with Doxygen in the HTML and LaTeX formats. In order to do so, you must first install Doxygen and Graphviz:

# Ubuntu 22.04
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install doxygen
sudo apt-get install graphviz

Then run Doxygen:

doxygen doxygen.conf

Two folders named html and latex should appear.

Running the tests

This project uses Google Test for unit testing. In order to run unit tests, the flag -DTESTING=ON must be passed to the CMake command. Here is an example on how to build and run tests:

# Build with CMake and Make
cmake -DTESTING=ON -B build .
cd build
make
# Run tests
cd tests
./gradebook_test [--gtest_filter=...]

Contributing

Please see the Contributing file for more information.

Versioning

Versioning is not available for this project yet.

Authors

License

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