Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gbowne1/gradebook-management-system
This is a C++ Gradebook Management System
https://github.com/gbowne1/gradebook-management-system
classroom-management cpp cpp11 education educational-institutions educational-technology grade grade-management gradebook grades k-12 k-12-education k12 school teacher
Last synced: 4 months ago
JSON representation
This is a C++ Gradebook Management System
- Host: GitHub
- URL: https://github.com/gbowne1/gradebook-management-system
- Owner: gbowne1
- License: mit
- Created: 2024-01-31T06:22:00.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-21T21:06:44.000Z (11 months ago)
- Last Synced: 2024-09-29T23:41:09.502Z (4 months ago)
- Topics: classroom-management, cpp, cpp11, education, educational-institutions, educational-technology, grade, grade-management, gradebook, grades, k-12, k-12-education, k12, school, teacher
- Language: C++
- Homepage:
- Size: 118 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Gradebook Management System
This is a C++ Gradebook Management System for the Kindergarten and 1st through 12th Grades.
[![C++](https://img.shields.io/badge/C++-00599C?logo=C%2B%2B&logoColor=white&style=flat-square)](https://en.cppreference.com/)
## Features
- Load students, teachers, assignments, classes and grades from CSV files
- View and modify loaded data
- Save students and grades to CSV files## Getting Started
This step describes the prerequisites and install steps for the libraries needed to build and run the project.
### Prerequisites
- [CMake](https://cmake.org/) - v3.14+
- C++ Compiler - C++ 14+ - Currently tested with [g++](https://gcc.gnu.org/) only
- [Google Test](https://github.com/google/googletest) - Only needed for linting, as CMake fetches Google Test automatically during build
- Operating system - Currently the following operating systems are supported: [Ubuntu](https://ubuntu.com/download) and [Debian](https://www.debian.org/index.en.html)### 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:
```sh
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:
```sh
cmake -B build .
cd build
make
```And then run the executable:
```sh
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:
```sh
# 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:
```sh
doxygen doxygen.conf
```Two folders named `html` and `latex` should appear.
## Running the tests
This project uses [Google Test](https://github.com/google/googletest) 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:
```sh
# 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](.github/CONTRIBUTING.md) file for more information.
## Versioning
Versioning is not available for this project yet.
## Authors
- Gregory Bowne - [@gbowne1](https://github.com/gbowne1)
## License
This project is licensed under the [MIT License](https://opensource.org/license/mit) - see the [LICENSE](LICENSE) file for details.