The ultimate student organization financial recordkeeping system! Boiler Books is used to track income, expenses, dues, and more across an entire club. Originally written with PHP in 2016, it has since been rewritten in JavaScript in 2022.
This system has three components: the database, the API, and the UI. The database is a standard MySQL installation, the API is an Express server, and the UI is a Vue SPA.
A public demo Boiler Books instance will be hosted at fake-money.purdueieee.org. This demo will reset itself every 12 hours.
The following usernames / passwords will be active for the demo instance:
- username / password / role
- master / password / Admin Account
- treas / password / Treasurer
- officer / password / Officer
- internal / password / Internal Leader
- member / password / Regular Member
Purdue IEEE's Boiler Books instance is hosted at money.purdueieee.org.
Boiler Books allows any user to create purchase reqeusts on behalf of committees, broken up by budget category. Authorized committee members approve or deny these requests, and the request user can complete their purchase. Finally, the treasurer can reimburse the user for purchases.
Income is also tracked through Boiler Books. Any authorized committee member can create a donation they expect to receive, and the treasurer can modify the income status as it arrives.
Any authorized committee member can view summaries for the committees, listing budgetary breakdowns, income and expense breakdowns, and export purchases as a CSV.
All users can see the dues they have paid thus far and officers can view all dues paying members. Treasurers can report new dues at the start of the semester.
Officers must submit budgets to the treasurer who can approve the budget request for the current fiscal year. Once approved, any user can create purchase requests.
The treasurer or admin can add and remove authorized committee members, officers, and other treasurers from the permission list.
The treasurer or admin can create new committees and fiscal years right from the interface.
All the documentation is available in the docs/ folder, broken up by topic.
- Updating the Fiscal Year to match the current one: updating_fiscalyear.md
- Setting up a development environment: development.md
- Deploying app for production: deployment.md
- API endpoint documentation: api_endpoint.md
The prebuilt UI Docker image expects you to be using the Purdue IEEE SSO system. Because the constants are baked in at build time, if you are not utilizing this system you will need to build the image from scratch after modifications.
Also, the committee with ID #2 is assumed to be a general fund. Treasurers will only be assigned purchase approval powers on this general fund.
We tag and maintain a few series of Docker image tags:
latest,2.3,2: latest releasemaster,master-dev(UI only) : latest master commit
The Boiler Books release cadence is around 2 times a year.
If there is an urgent fix you need, the master tags on the prebuilt Docker images are always built from the latest master.
If you encounter a bug or want to suggest a new feature, create a new issue. If you have an urgent problem, reach out to our infrastructure team via email at ieee-infrastructure@purdueieeeorg.