Student Time Logger

We at Team 900 got tired of trying to keep track of student hours on paper so we built a program to do so. Students sign in at the beginning of meetings with a barcode scanner and out at the end of the meeting.

It has adjustable variables for requirements (# hours/#meetings attended) as well as many others (see the documentation for more). We’ve also set it up to provide graphs and statistics for when schools or sponsors ask.

You can find the code here: https://github.com/FRC900/timesheet. I did my best to document the install process, but I installed it all over a year ago. Please let me know if you have questions or any suggestions/improvements to the documentation.

There is also an example website set up here: http://frctimesheet.herokuapp.com/.
Admin account - admin@900.com / zebracorns
Student account - test@900.com / zebra
Feel free to play around and create items, please just don’t delete or edit these two users.

Our current setup is a Raspberry Pi hooked up to a monitor and a barcode scanner. It’s been working great for us.

I’m still continually adding features, so if you have any requests please don’t hesitate to ask. I have released it under a Creative Commons License so you can also fork the code if you want to develop on your own. I just ask that you leave the original credits to Team 900.

Hopefully it helps some of you!

When I was with team 1987 as a student when used a program, I don’t know who wrote it, but whenever we came to a meeting or were working at the build site we entered out own 4 digit number to log in and the program kept track of the number of hours we were at the shop. When we left the meeting/ shop we would enter our number again to log out. Similar thing, how did you do the bar code, did each person get a card with a unique bar code and they just scanned it whenever the arrived and left?

Yup, we just had students bring in barcodes from whatever they had: student ids, grocery store rewards cars, books they carried around. Some even used chip bags! (though I highly suggest they don’t, hard to keep track of.)

The barcode scanner just acts like any other input device so students could just as easily type in their code. However, with 70 students, the line to type in everyone’s code would be insane at the beginning and ends of meetings.

That makes since. We didn’t have that many people, and most of the time we came in pretty spread out so I can see the advantage of just a quick scan and your done system.

One very cool side feature is that if you can convince all of your mentors to also log in to this then you have an easy way to track their hours. This helps for getting donations from employers as well as soliciting for grants and fundraising since you can show the data.

It can also lead to bouts of clinical depression for some mentors when they realize their entire lives have been taken over by FRC.

Our system kept track of both students and mentors, and the amount of hours they put in was almost unreal in such a short time. Thank goodness for mentors. Although now that I am one, and a college student at the same time what does that mean for my future. Who cares it will be fun, amazing, and a thrilling new challenge helping students and teaching. Can’t wait for January!

Off-topic, but you should definitely care. Don’t let mentoring an FRC team tank your grades and potentially ruin your college experience. See this thread for reference.

This time tracking solution is pretty neat, I like the idea of using barcodes. We may borrow from it as we haven’t historically done a great job of tracking our hours.

I do care, and if keeping my grades up means spending lest time mentoring then that’s what I’ll do. I have a great stake in my grades for my future, but what I meant is that I don’t care how much work I have to do, to try and do both, but I am willing to put forth the effort and time to do so.

We use a custom php system. I am actually the one that created it. It has a lot of features included in it. It is not open source as it would be hard to do that as this is my FIRST program that I created. I could make it work for your team if you would like it to, but it would be a lot of changing hard code. If you would like more information, please PM me.

Adam, I’m not really sure I understand your post. I was showing my team’s solution to the problem and offering it up to other teams should they choose to use it.

watcha use for an affordable bar code scanner?

This one on amazon looks okay http://www.amazon.com/Barcode-Handheld-Continuous-Scanning-Adjustable/dp/B004072B1A/ref=sr_1_2?ie=UTF8&qid=1408713334&sr=8-2&keywords=barcode+scanner+continuous. We had one lying around already rescued from a scrap pile at work, so we didn’t have to purchase one.

Just abut anything you can find will work as long as it can put out a return at the end of the line. They enumerate as USB HID devices (basically a keyboard). Here are some examples:

I recommend one with a cradle that will stay active and on so that team members can put a card under it and then just sign in.

I’ll a little confused as to how people punch in/punch out. Do they do that with the web interface? I’m in the demo, and don’t see how I tell it if I’m coming in or leaving…

The top bar which says “Student Login”. The textbox there is where the barcode (or a keyboard) enters the students id number. The green bar at the top will say “sign in” or “sign out” respectively. It will also keep a table below of anyone who has signed in or out that day.

Interesting idea I thought of today that I will develop, I am going to build an app that allows students to check themselves in and out using a PIN number, but can also scan barcodes. That way you can stand at the door and check other students in as well.

I’m not really sure how that’s much different than mine, other than that we don’t give students admin access (to stop them from being able to sign in unless they’re in the lab). It does use a pin number, it just happens that the pin number is the number used on the barcode. If you wanted students to simply enter a number, you could do that. If you want students to be able to log each other in, just give them admin access. Maybe I’m missing something?

We use mytimestation.com, they gave us a free account and can be used with an old iphone, iPad or android device. It also has a wide variety of reports to run or export to excel.

Mr B

Thanks for providing this application!

I’ve been playing with a little bit for my team and I like it so far. I set it up on a heroku instance pretty quickly and painlessly.

For anyone else getting started and wondering how to set up your first users, just go to the registration page. The first user you create will be an administrator and everyone from then on will default to a standard user.

It would be nice to provide a little more flexibility- For example, it would be nice not to have to fork the project to change the team number on the welcome screen.

If we decide to go forward with using this, I will probably also rename the “school” grouping to simply be “group.” We only have one school, and I think it would be interesting to separate students by their subteam (build, programming, etc.). Not something I would expect you to change because this is obviously what works for your team, but just something that was on my mind.

Similarly, I would imaging that a lot of teams would want to customize the registration process to either add or remove certain fields (such as the “tool use forms” checkbox).

Were you thinking database variables? I could probably do something like that.

I have no objection to changing the names. Group could be a school as easily as a specific team. I’ll see how easy it will be to modify since we’ve already got a database with values.

That’s a FANTASTIC idea! Custom checkboxes. New database tables, definitely doable though. I’ll see what I can do. Maybe not in the registration itself, but instead as an associated object?

I’m glad you’re liking it so far, if you have any more suggestions please don’t hesitate to let me know!