Hello world, we’re team BrowserSpree. We’re working on a module to integrate the e-commerce engine Spree into BrowserCMS, a Rails content management system. It’s been a challenging, but rewarding, journey so we’re excited to share what we’ve been up to so far.
Hi, Britney here. I started learning Ruby and Ruby on Rails in May 2013. I attended a conference about startups but was quickly sucked into a talk about learning programming, specifically Ruby on Rails, and the active developer community in Washington, D.C. From there I’ve done tutorials, exercises, read books, attended meetups and conferences. One thing I hadn’t done prior to starting Rails Girls Summer of Code is work on an open source project. I’ve been afraid that I don’t know enough to contribute, so Rails Girls Summer of Code is giving me confidence in myself and also giving me experience that I hope will move me closer to working with Ruby and Rails professionally.
Hi – I’m Jam! I’m an IT Project Manager by day– and a Fullstack Rails Dev (in the making) by night. A year ago – learning to program never seemed like a possibility. I – of course thought you had to have a Bachelors in Computer Science and be able to solve some complex algorithm in your sleep for someone to actually pay you to do it. The big decision to go for it anyway came to me when was challenged by an employer who said I wasn’t an ”A” player because I didn’t have a technical degree - which challenged me to prove them wrong. If it hadn’t been for Rails Girls DC and the awesome DC Ruby community, I would have never believed I had what it takes to defy that belief. I attended my first Rails Girls Workshop in June of 2013, having no experience whatsoever. A year later, along with Britney - we planned the June 2014 Rails Girls DC Workshop – which was an amazing experience. Outside of the - my loves: West African Dance, Indie Music (all genres), Fashion and reality tv. My goal: to design and build e-commerce for fashion brands. I recently enrolled in Tealeaf Academy which managing that, in addition to RGSoC and my full-time job has totally killed my summer social life – but I’m getting closer to my dream – and that’s all that matters. I’ve finally decided to follow the advice of the masses and create a blog to document my journey to learning design and code, with sprinkles of randomness in between. Follow me @justjamonit/@rbywoo and blog: rbywoo.com
Ruby for Good
The first ever Ruby for Good was a few week ago and it was so cool to see so many rubyists, both new and old get together and work projects to benefit others. Since we could break into teams and work on projects of our choosing - I thought what better chance to work on BCMS 4.0 documentation! Luckily, Craig Riecke agreed! Craig came down Ithaca, NY. He is Rails Developer for Cornell University AND published author - Mastering Dojo. When I first made the announcement that I was working on documentation for BCMS… I knew no one would be interested! After all other teams were building sexy apps in AngularJs, for example! But Craig was looking for change from his day to day - programming. So it was a win-win!
It was so great to work with someone of his skill set and background. He brought a very fresh perspective to the user/developer documentation that allowed us to rewrite and restructure the documentation rather than simply update what was there to include BCMS 4.0 features. Check out what we were able to accomplish here. Craig was able to make a lot of progress with the User Documentation, while I dove into the Developer Documentation. The great news is Craig is on board to continue updating the documentation with us going forward!! Check some our Twitter <3 from that weekend:
Steel City Ruby
Not long after Ruby for Good, we attended Steel City Ruby Conf in Pittsburgh, Pennsylvania. It was a great opportunity for us to visit another community of developers since we’ve mostly just engaged with the D.C. community and those who visit. We highly recommend the conference to developers of all experience levels. The organizers did a great job of selecting talks that weren’t all highly technical. In fact many of them had more to do with self-reflection and community. We also had the opportunity to give a lightning talk about Rails Girls and Rails Girls Summer of Code. We explained what each was about and our experiences. The feedback we received was very positive and helped us start a lot of conversations with other attendees. We were able to explain in more depth how Rails Girls works and make recommendations about putting on workshops and other strategies to engage local communities. It was the first lightning talk for both of us and we’re looking forward to doing more. Our Ruby Conf schedule is far from over - we have RubyDCamp and Nickel City Ruby right around the corner, in October!
Since we are at the halfway point- it’s best we look back at what we have done. We have actually followed our Project Plan pretty closely: In July, we primarily spent our time getting familiar with BrowserCMS. We each built our own version of a bookstore. We created our content_blocks, portlets categories and made the our content_blocks and portlets available for public view. Specifically, we added the following features:
- Catalog of all our books that our visitors can browse.
- View products pages individually.
- Categorize by type of book (Authors, Fiction/Nonfiction, Politics, Economic, Young Reader Vampire Novels, etc)
- Authors should have their own pages that list their products.
- Author’s other works should be visible even if we don’t have those books for sale.
- When I view a book, I should be able to see all the author’s other books for sale.
- When i view a product, I should see other related products for sale. I should be able to give discounts codes for an author that would last for a 4th of July weekend.
- We also updated BrowserCMS developer documentation and user guide, thanks to Ruby for Good! Check out what we were able to accomplish here.
Key Takeaways so far
Google, Google, Google This can’t be said enough. Not only when it comes to errors but also when you have a feature you are trying to add, or a how do I go about doing ‘x’ ?” question. It was surprising “how much we found out just by using others people questions. Plus, Googling is a required skill to be a developer – right under using Git or knowing the command line.
Its okay to go over the basics For one or two weeks, we had to cover some Rails basics - in addition to building our store so that we could ensure we are asking the right questions and learn/apply the fundamentals of Rails and not just BrowserCMS.
Pseudo code Pseudo code is writing in English what you are trying to accomplish in code. It helps to logically map out the steps to get to your desired outcome.
Break large tasks into smaller ones Start small. When adding a feature, it seemed daunting and often time felt like we had now idea where to start. Breaking one big action into smaller was key because it allowed us to start with what we did know – and take it step by step from there.
Where to From Here
Well we spent the last two weeks diving into Spree and for the last week - we have been tried installing BrowserCMS and Spree in the same Rails app and seeing what breaks. Well - it broke a number of times - but nothing that we couldn’t work through. We figured out which version of Spree plays nicely with BCMS and we are on track to fully flesh out user authenticaton, checkout, etc. by the end of the summer!