Building a Twitter Clone!
It felt great building the Twitter clone this week! Finally, something that people actually use (not that anyone uses Twitter, but you know what I mean). Also, managed to deploy the guest tracker app! Made some minor CSS updates and added some functionality to choose the profiles to export.
1. Objective:
What did you do this week?
Remember I mentioned the Devise gem last week? Well… it’s our new best friend for user authentication! We did a quick practice with it and it’s amazing! Takes less than 5 minutes to set up an authentication system… that took me 3 hours to figure out on my own.
Testing, testing and more testing…. we learned the RSpec framework for testing this week. I would take screenshots, but I imagine you’d be even less interested in it than I am. (Sorry, Daniel.) More seriously though, we’ve only done basic testing so far, and haven’t gone on to the full glory of Test-Driven Development, so there isn’t much going on here. We learned how to create tests for models and controllers, and at this point, because we are not that familiar with RSpec, usually, failed tests simply mean mistakes in our tests!
We got our first experience with deploying apps on Heroku this week (and this is how I managed to deploy the guest tracker app for church). And we set up CircleCI to test the apps.
On to the exciting bit: we learned how to do many-to-many associations this week, which allowed us to build the Twitter hashtag system. And here are the screenshots:
The cool part was that this was something that would eventually really be a part of my portfolio (so I put more effort than usual into the CSS styling). And of course, learning new things like how to create a self-referential model (had to refer to a tutorial for this because it hadn’t been taught yet), how to have different styles for different controller pages (including navbars), etc.
Also, another week, another Github adventure. Accidentally pushed a huge file to Github, that somehow slipped through their size limit the first time, but messed up all further commits. More git reset
action here.
2. Reflective:
How did you feel this week?
I realized that I really enjoy building apps of my own! There was a lot more freedom to explore this time because there wasn’t a ‘briefing’ on how to accomplish the task.
And I was really happy that I managed to deploy the guest tracker!
3. Interpretive:
What did you learn this week? (not a lecture note) Any reflection, questions, and problems
Had some spare time this week once I completed the basic functionality of the Twitter clone, so I tried to improve the hashtag functionality. Before, I’d implemented it as a separate form, so a user had to create a post then create a hashtag, but I managed to put it into the same form.
Love this style of learning because I’m making incremental improvements and exercising *some* creativity in problem solving.
4. Decisional:
What are you going to do next week? (plan or goal for the next week)
Experimenting with more side projects…
Also, I need to improve the interface on the Twitter clone to make the tagging experience more like Twitter.
Until next week, see ya!