Why I built this?
I was going through a creative dry spell. I knew I wanted to build something, but wasn't sure what to build. I figured, I like dogs and Petfinder is a pretty cool site, so why not build a similar site, but just for dogs? Out came Dog Seekers. I built Dog Seekers to prove to myself that I was capable of building a large scale project with only the help of Google. In the past, I've implemented features to large projects, but never built an entire large scale project; top-to-bottom. If you're reading this, then I've accomplished exactly what I set out to do. There's still A LOT of work to do, but I've simply come to terms with the fact that I'm going to be working on this for a while. To me, no project is really "finished", because there's always work to be done.
Hurdle 1 - Stay Organized (even when you're mocking another site)
Normally, for apps I build from scratch, there would be at least a 1 to 2 day period of gathering thoughts, writing everything down and making sure to place these ideas into organized, structured notes and when to implement what. My first thoughts when doing this mockup was to simply copy the layouts from Petfinder.com. I learned very early on that one does not simply do that with a large scale web app. I learned that when building a large scale application, whether your mocking another web app or not, requires a lot of organization. You have to use some sort of project management tool to organize your ideas, views, test specs, controllers, etc.
Hurdle 2 - Advanced Search Form
For the search form, I didn't use any gems. I built the search form from hours of googling, thinking I had a solution (but really didn't), and finally arriving at a tutorial about advanced search forms. The tutorial greatly helped me understand how search forms actually work. After arriving at the tutorial, I learned a great deal more about modules, models, scope, and so, so much more.
Search Form Tutorial By Justin Weiss
Hurdle 3 - Action Mailer
Before this project, I never had to implement mailers. Mailers weren't necessarily the hardest part of building this app, but simply something I've never done. I used SendGrid to handle sending email as their free starter pack had everything I would need for this project. Action Mailer was pretty easy to implement and SendGrid made it a breeze to configure with Heroku. SendGrid also has a great support team...just sayin.
- Rails 5
- Bash Scripting
I, Kyle, the owner of this project, do not intend, and most certainly, do not plan, to make any sort of income from the implementation of this site. The sole purpose of building this site was to better my skills with the aforementioned technologies and prove to myself that I was capable.