ToolShare

ToolShare was my first time working on a web app; prior to the project, I've only done some marginal HTML/CSS work. No javascript, no server-based database stuff, no SQLite... so it was a huge learning experience!

ToolShare is a website for... uh... sharing tools. Handtools, yardtools, the things you usually borrow. The idea was given to us; our teacher turned into the "customer", and in teams of four we would transform his ideas into a final product.

My roles were Requirements Coordinator/Testing Coordinator. So, besides coding my fair share of the project, I would schedule meetings with the "client", probe him for more details, and guide the team towards the proper final product. Which of course required formal documentation to get everyone on the same page. But this list of requirements also helped me be a natural Testing Coordinator. Requirement testing just made sense; I already had the list of requirements. But of course the other half is the nitty-gritty white box testing.

The app itself is built on the Django framework, which utilized an SQLite database. But the great thing was that Django is built on Python, a language I know well. So I could query the database with Python. Django also had a pretty slick template system, and as Testing Coordinator I made great use of the automated test system.

As far as the front-end, we used a Bootstrap theme. I created the theme with their theme roller, but another team member handled plugging in some JQuery plugins and overriding some CSS.

The visual design (again, I was responsible for "rolling" the theme and choosing colors) was a learning experience in UI design. Some lessons that I got from my team was that "Accept" buttons really should be green; "Warning" buttons should really be red, etc. I went a little crazy at first with the color scheme, but my teammates brought me back to reality: simply, to focus on function over form. Use tried and true things the user will understand. I'm not saying this is a great GUI, but it was a huge learning experience for me. 

But anyway, the idea was "wood tones". Because, you know, tools! Building!

 

This is a page for tool details, viewed by someone who doesn't own the tool (if they did, they would have buttons to edit some info, or make some dates unavailable). There's a tag system, and the user can click on any of the tags and be brought to a "search results" page showing all available tools with the tag.

To borrow a tool, users click a start/end date for the reservation on the calendar. The owner gets a notification (in the prior picture, you can see a red badge signifying such a notification) that the owner can take action on (allow the borrow, deny the borrow).

 

Lastly, how we handle the "social network". The client knew from day one that he wanted some sort of "shed" idea; a sort of "club" or "group" or "clan", whatever you want to call it. We privacy options, with the most private shed being unsearchable and invite-only.

Anyway, thanks for checking out my hard work! There's more to it (statistic tracking, user ratings, etc.) but I just tried to give a brief overview. This was a cool project for me, and a huge learning experience!

CodeBrian Martone