ANova Hacks laptop management and check-in system built with Ruby on Rails 5. Based on Inventorious.
Users (who have access to the app), can specify items, students (who can borrow items), and create borrow orders for students. Orders can then be marked as returned or canceled, or renewed for 7 days from a user. Users can also check in students and mentors to rooms and workshops. Only authenticated users can access the app and make changes. User registration is disabled.
There are two ways to add students, mentors, items, and rooms (workshops): individually and in bulk with a CSV. If you are uploading a CSV file, it has to follow the format specified here (including capitalization):
name
: student nameemail
: student emailupc
: student barcode number
name
: mentor nameemail
: mentor emailupc
: mentor barcode number
name
: item namecategory
: either "Laptop" or "Other"quantity
: usually 1remaining_quantity
: should be equal to quantitydescription
: item descriptionupc
: item barcode number
Hackathon Check-in and check-out will also count as a room. For these, set the name to be "Hackathon Check-In" and "Hackathon Check-Out", respectively.
name
: workshop namedate
: MM/DD/YYYY formattime
: hh:mm AM/PM formatlocation
: optional field
We use EAN13 barcodes for our items, students, mentors, and workshops. The breakdown of the 12 digits in the barcode is as follows:
- First 6 digits:
978020
for all codes - Next 2 digits:
11
for students12
for mentors13
for items
- Last 4 digits: unique random code for each item of that type
There are two ways to check out laptops to students: by filling out the form and by scanning their barcodes. To check out by barcode, navigate to the Scan Barcode page on the main sidebar and scan the laptop. This should take you to the item checkout page, where you can scan the student's barcode.
To check in/out students and mentors from the hackathon and workshops, navigate to the check in page on the sidebar. From there, click on the workshop name or icon to its left, and proceed to scan the student/mentor's barcode. The page should refresh with an updated room roster upon successful scanning. If it redirects to the homepage, the scan was unsuccessful.
- Make sure you have a Ruby version > 2.2.2 installed in your system
- Install RubyGems
- run
gem install rails -v 5.0.2
- Download this repo, and unzip it
cd checkout-system
to cd into the folderbundle
rails db:migrate db:seed
- Run
rails s
to start the server - Without stoping the server, open another terminal window and run
rake jobs:work
(needed in order for ActionMailer to work and deliver emails) - Visit http://localhost:3000
- Use
demo@demo.com
change_me
for the email and password. Change the password and email once you login. Create more users via the Console.