Hack Overflow
My second project was one of my favorite experiences throughout my time as a General Assembly student. We were assigned the task of building our own full-stack application from the ground up with our own designs and to give the application full CRUD (Create, Read, Update, Delete) capability. This meant we would need to choose an idea, plan it out, and write all the code to bring our idea to life. While we were given a list of very viable project ideas, I chose to go off the beaten path and test the limits of my ability. I spent my next couple of hours brainstorming ideas to use until I came up with the one that felt the best. I decided that I was going to pay homage to one of my favorite problem-solving resources that helped me get through more errors than I can remember. I chose to build a replica of Stack Overflow.
Stack Overflow was my go-to forum when I first discovered software development and I’ve used it faithfully ever since. To be clear, there are certainly other sites that provide documentation and examples of how to properly use certain functions, operators, objects, etc. However, I have yet to find a forum that more often than not will have an answer to the exact problem that needs to be solved and is as robust and diverse as Stack Overflow. I built my project ‘Hack Overflow’ as a simple clone with HTML, CSS, Javascript, Node.js, Express.js, and Bootstrap.
After deciding what to build, the design process took longer than expected because at the time designing was not one of my strengths. I decided against making an exact replica of Stack Overflow and to focus on just the core function of asking questions and answering them. In hindsight, I wish I was more daring, but I’ll make a point to add more functionality and aesthetics to it in the near future. The underlying code for the functionality was not as difficult to get going as the designs were. Our class had just finished off a unit on full-stack development with Node.js and Express.js and I put that knowledge to use. The biggest snag I ran into was my edit page not working properly.
I had every part of CRUD working except Update. No matter what I did, the app was refusing to behave the way I thought it should. I reached out to my classmates Sara, Eleni, and Thomas and they helped me make some progress, but the edit page still would not function. The user could click the button to answer a question but the page would not update after they submitted their answer. I looked through my edit, controllers, and model pages, again and again, to see if I could find even the smallest inconsistency. I had also worked some Bootstrap into my project so I couldn’t tell if the problem was with my Bootstrap or with my Express.js routing. I finally decided that I needed to contact an instructor to help me out. I did and she pretty much immediately found the problem in my edit page. I had something written in uppercase when it should have been lowercased. I changed that and my page worked. The part of it that I’m most proud of was getting the edit to work and give my app full CRUD. I had it all figured out except the case sensitivity. The end result was a working app deployed with Heroku that anyone can see at https://project-2-hack-overflow.herokuapp.com/.