# Contributing to the Question Bank Creator Project (QBC)
A resource for homeschooling parents, students and teachers of every stripe.
## Primary author
*John T. Reagan, retired Pastor, Math Teacher, and Author.
*[Website:](https://brokenleafministries.org/)
## Current state of the project
This project is written in Rust and as much as possible I would like to keep it that way. That said, the GUI it uses is [FLTK.rs](https://github.com/fltk-rs/fltk-rs) which, (correct me if I'm wrong) takes binaries that were originally written in C++ and wraps them in Rust code, making them useful for Rust projects. I did an extended search for Rust-native GUI's and found that they were either too complicated in their implementation, or too new in their current development, or the documentation was either non-existent or too sparse. FLTK.rs documentation is far from robust, but with the help of the repository's maintainers, it has been working for me. So, as a potential contributor to this project it will help if you either are familiar with FLTK or willing to learn it.
This project has not yet reached the point where it is even usable. The code is rough, the error-handling nearly non-existent, and it all reflects my own poor skills as a self-taught and amateur Rust coder. It is also becoming too big a project for me to handle and that is why I have put it out here on Github and am asking for help. Please checkout the [Readme.md](https://github.com/jtreagan/Question-Bank-Creator/blob/master/README.md) for an example of what I am trying to accomplish here.
There are other products out there that accomplish the same goals and are very well done, but all that I have found are proprietary and tied to commercial publishing products. It is my intention that this project should be open source and, if not free to use, of minimal expense. I'm leaving it open that some kind of monetization may be needed in case unanticipated expenses crop up.
## Standards
* Keep the code as simple and uncomplicated as possible. This is as much for my sake as for other contributors.
* Document your code. In this I'd have to encourage you to NOT follow my example. I'm slowly trying to add explanatory comments, but haven't done a very good job of it in the past.