Rate All The Things

Last month I worked on a small idea that I called rate all the things. The idea was to create a smart phone app that could be used to rate anything that has a bar code (or QR code). So that's what I built, mostly just for the fun of it and since I fail at UX that was all the feedback I got from my Show Hacker News post. After a bit of thinking I decided to open source the site and Android app i built so that I can go on building something else (or just finish one of the billion other projects I toy with). Back end: built on asp.net using Nancy (instead of asp.net mvc) to support simple routing and overall fun to work with instead of an headache. Entry point are the different modules mapping out routes. To handle authentication the simplest way was to use basic authentication combined with strong random passwords (users are not able to select their own passwords) and running everything over SSL. Since most of the traffic for the site is over Json I decided that the SuperSimpleViewEngine bundled with Nancy was more that enough for my needs, just as me using TinyIoC since it's bundled and I'm not doing anything that requires something more fancy. Android app: To be able to scan bar codes I used the IntentIntegrator class supplied by zxing, it handles talking to Barcode Scanner and if it's not installed can take the user to Google Play to install it. I used the ActionBarCompat example to have an Action Bar in the app in all versions and not just on devices running Android 4. On the arcitecture side I used roboguice for ioc handling and alot of async tasks to wrap all network calls.