Full-Stack Developer Bits

Taiye Salami
3 min readAug 10, 2020

This is one story that I’ve thought a lot about before I “qualified” to be remotely close to anywhere near a full-stack developer. In the build up to the commencement of my program at Flatiron school, I relished and also became a little pumped about the fact that in just under four months, I’d have had sufficient fundamental concepts required to be called as one. The responsibility of a full-stack developer in this period was a little overwhelming to me because I didn’t know much about how everything came together but also something I thought would be totally worth my while.

full-stack developer tools

Shortly before my program completion, I tried to make the most of my new found knowledge and most importantly thought about how I could convince myself that I’m well on the way to a truly rewarding experience as a developer. I knew my choice of project would ultimately determine this. After a pretty lengthy period deliberating what I’d like to get working on, I decided to create an app called Studious, targeted at college students. The motivation for this is that as a college graduate myself, I’d seen first-hand how the lack of adequate support might break an otherwise level-headed student.

As a side note: this period made me realize immediately how seemingly easy programs require the most deliberate, precise and well thought-out plans. Before settling for an app targeted at college students, I had a whole variety of functionalities for a diverse group of people I was ready to incorporate into my project… or so I thought. Upon conversing with some of my more-experienced colleagues, I quickly realized this might be too intense for three weeks. The more we discussed, the more I saw I had to downsize… ultimately settling with Studious.

The Studious app would have two parts to it:

  • A place where students could ask questions about difficult concepts they’re encountering in their school work and other students in the community could provide useful help to them, ultimately getting the question resolved.
  • An avenue for students to get matched with other students in the community that are looking to acquire certain skill sets but don’t feel motivated enough to go it alone. This means they’d be able to come together in a chatroom to discuss everything from their struggles to the progress they’re making… ultimately motivating each other all the way to skill acquisition completion.
Studious: a community of students helping students

The Studious app was created using Rails as server which renders JSON data to the client built using JavaScript’s React library. Also because I figured it would be nice to incorporate a chat functionality between students matched together, I opted for socket.io to manage bi-directional data flow and thus a node server to make this happen. Action-cable would have been ideal for the chat functionality given I already had a rails backend but I found a very straight forward node/socket.io setup tutorial which I loved a lot. A combination of different styling technologies and libraries such as bootstrap and material UI were then used to provide the design.

For the database, I used SQLite because of how easy I thought it was to use with Rails. Setting up the relationships was pretty straight-forward; it wasn’t until I began to expand my functionalities that I realized I’d need to add/change some columns in my tables every now and then. In rendering the database content to the client, I made use of the rails serializer and I’d say this single-handedly made my data structuring super straight-forward.

In my next blogpost, I’ll be going deep into the code that made my Studious app possible as well as some of the things I learned as I got down to work. Because this was something I enjoyed a lot and filled with different experience, I’d like to know what ideas some of you have per my question below:

Question: What are some of the planning tools you use before, during and as soon as you’re about getting done with a project?

--

--