I used to work for a construction management company, and a big part of my job was to ensure that all of the drawing sets we kept in the office were up to date. It involved a lot of cross checking a spreadsheet against the revision numbers within title blocks. I thought "there has to be a better way".
What it does
The app allows users to upload pdf drawing sheets. It adds a unique web link (in the form of a QR code) to each sheet. When this QR code is scanned with a phone, it directs the user to a page where they are able to see if the drawing they just scanned is up to date or if it has been superceded.
How I built it
We used the Laravel PHP framework to build the app. For a development and testing environment, we used a Laravel Homestead (a pre-configured VirtualMachine). The framework enabled rapid development by providing all of the low level routing, ORM, validation, etc. All we needed to do was design the object models, mock up the website, and write the display HTML.
Challenges I ran into
Time was definitely a limiting factor. We also had problems deploying the site to a web-connected host (we bought a URL and planned to make the site live for the judges and other contestants to look at). Especially in the final hour of working, many things seemed to go wrong (or at least to not work). Ultimately, we ran the demo using the laptop it was developed on, hosting on the VM.
Accomplishments that I'm proud of
I am really happy that we managed to pull it all together in 24 hours (we were even able to grab a few hours of sleep). I have been wanting to learn this framework for a long time, and after doing this intensive development work, I feel that I have achieved that goal. I am also very proud of my team, everyone tried something new and learned some things about web design.
What I learned
The basics of development in Laravel A lot about VirtualBox and VM development environments in general A lot about GitBash command line A lot about SSH
What's next for Synapse
I am still working on polishing the web-app. I'd like to get it to the point where it has all of the functionality that we brainstormed, and possibly show it to some companies, to see if they are interested in using it. Possibly developing it further from there.