By Wilhelm Uschtrin, Moringa School Student
In my last blog post I talked about my fear of eventually having to build something from scratch. Well, we’re at the end of week 7 now, and that’s kind of what I did this week.
And it was fun!
To elaborate: A while ago we were told, that this week we would have the opportunity to present something to externals. So on Wednesday we showcased some of our work to other people from the Startup Garage, the co-working space we’re in, and on Friday we ‘pitched’ projects to a couple of visitors from iHub. So from the end of last week until Friday we all frantically started building stuff. And when I say ‘stuff’, of course I mean carefully thought out, meticulously architected and handsomely designed web and mobile apps. 😉
Anyhow, the project I presented is a jobs board that allows organisations to post vacant positions and job-seekers to browse these listings and inform themselves about the posting companies. The title of this post says ‘(almost) from scratch’ because we did a Rails tutorial for a jobs board last week, which, truth be told, was the foundation for mine. But that tutorial was actually really basic and stopped at some point, while I …just kept going.
I added a couple of gems to the infant Rails app from the tutorial: I built out the authentication and authorisation system using Devise, so that only logged in organisations can post jobs. Actually, visitors to the website that are not logged in (job-seekers) can neither see the buttons for creating and editing, nor can they access the relevant forms via the URLs. I slapped MaterializeCSS on the whole thing as a front-end framework and spent quite some time styling everything to my liking (and used Slim as a templating language). I switched from the Rails-default SQLite3 database to PostgreSQL to be able to deploy the app on Heroku, which I did, and wrote some seed data so I can just populate the database simply by typing:
This came in very handy, as I was constantly messing with my models and migrations, having to drop the database on numerous occasions. Always adding data manually from within the app just became tedious, and using Heroku (adding a deployment database to my local one) just compounded that issue.
Now here comes the good part: all through-out this process, I didn’t require any help from our instructors. Stack Overflow became my friend, my Google-Fu improved and I managed to iron out most of the errors that I ran into. Now, don’t get me wrong, there is still a lot of work to do on that app, and I already have a list of features that are just waiting to be implemented. But I built something, on my own, something that I am actually pretty proud of. I added, implemented and used a whole lot of stuff that we didn’t learn yet – educating myself, debugging stuff and dancing the MVC dance.
Who would have thought? I didn’t …3 weeks ago.