This is a C++ Gradebook Management System for the Kindergarten and 1st through 12th Grades.
- Load students, teachers, assignments, classes and grades from CSV files
- View and modify loaded data
- Save students and grades to CSV files
This step describes the prerequisites and install steps for the libraries needed to build and run the project.
- CMake - v3.14+
- C++ Compiler - C++ 14+ - Currently tested with g++ only
- Google Test - Only needed for linting, as CMake fetches Google Test automatically during build
- Operating system - Currently the following operating systems are supported: Ubuntu and Debian
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 .
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
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.
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=...]
Please see the Contributing file for more information.
Versioning is not available for this project yet.
- Gregory Bowne - @gbowne1
This project is licensed under the MIT License - see the LICENSE file for details.