A Ruby on Rails web application for the Student Engineers' Council.
FinanceHub is an app started by Dominick Fabian and continued by other members in the SEC Systems Administration committee. It has the goal of handling all of the financial data of the council and allowing members to securely upload information that will allow the CFO to handle dealings with SOFC. The old system is slowly falling apart and will soon be decommissioned once the tax archives are not longer required. From then on out, FinanceHub will take over all financial dealings.
Some of the goals of FinanceHub include:
- Integration with MembershipHub for user authentication and access control
- Easy maintenance and accessibility of information to authorized users
- Document upload and storage for items such as receipts, signed forms, and other important records
- Maintainability, in the form of up-to-date documentation and troubleshooting guides
This application requires Rails 5.2.3.
This application requires Ruby 2.5.1.
First clone the repository:
git clone https://github.com/domfabian/financehub.git
Then change into the directory of the application:
cd financehub
Ensure that you are using the correct version of Ruby and Ruby:
rvm install 2.5.1
rvm use 2.5.1
rails --version
ruby --version
Now we will make sure that all gems are installed on our local machine:
gem install bundler
bundle update
bundle install --without production
Make sure that your local database is up-to-date:
rails db:migrate
Now we are ready to start up the Rails server:
rails s -p $PORT -b $IP
If you make a mistake and need to reset things on your local machine:
rails db:reset
rails db:seed
Now you should be ready to go!
-
Membername(string)auth_level(integer)has_and_belongs_to_many Committeeshas_many FormResponses
-
Committeename(string)has_and_belongs_to_many Members
-
FiscalYearname(string)active(boolean)has_many Budgets
-
Budgetbelongs_to FiscalYearhas_many Categorieshas_many Subcategories through Categories
-
Categoryhas_many Subcategoriesbelongs_to Budget
-
Subcategoryname(string)amount_allotted(decimal)amount_pending(decimal)amount_spent(decimal)has_and_belongs_to_many FormResponsesbelongs_to Category
-
Formform_type(string)questions(Array(serialized with YAML))has_many FormResponses- Supports AWS S3 attached documents for:
- Approval to Charge (ATC) form
- Credit Card (CC) form
- Check Request Form (CRF) form
-
FormResponseid_number(string)answers(Array(serialized with YAML))has_and_belongs_to_many Subcategoriesbelongs_to Memberbelongs_to Formbelongs_to Batch- Supports AWS S3 attached documents for:
- Arbitrary PDFs
- Receipts
-
Batchdate(datetime)has_many FormResponses