In this project, you'll get the opportunity to actually build a real rails application. It's not a trivially simple one either -- it's got a lot of wrinkles and things that you're not going to understand.

To be honest, you're kind of going into the deep end so don't worry if you don't understand what exactly you're doing in all the steps. The point here is to get familiar with the process of creating a Rails app, what things generally look like, and what you don't know. When you get to the end of this project, you can consider yourself remarkably persistent and resilient.

Because you'll be doing so much stuff that we haven't taught you yet, this is a good project to find a partner to work with on even though it's just following a tutorial.

- Follow the instructions atop the Google Homepage project to set up a Github repository for this project (of course you'll need to change the title).
- Do the Jumpstart Lab's Blogger Tutorial sections I0 through I4. Pay attention to any error messages you get, both planned (because the tutorial walks you through a common error-guided workflow) and unplanned (likely for things like spelling errors). You'll see all these messages again and again when you're building Rails apps, so it's helpful to start getting familiar with which portions of the message you should pay attention to (and maybe put into Google if you can't figure out what caused it).
- After you finish going through the tutorial, you'll notice that if you delete a tag, all related orphaned taggings will remain there. You can solve this by enforcing Referential Integrity by applying the
`dependent: :destroy`

option for the`has_many`

method in the right model. You can learn about it in This Entry of the Rails Guides - Here's a helpful gist with common Blogger problems if you're running into issues with routes, deleting, partials, and
`redirect_to`

. - If you're feeling ambitious, add in authentication in section I5.
- If you're feeling very ambitious, try doing the final Extras section I6.
- Don't forget to deploy your app to Heroku! Review Heroku deployment here.

*Submit a link below to the github repo with your files in it by using a pull request. See the section on Contributing for how. Please include your partner's github handle somewhere in the description if you had one and they would like attribution.*

- Add your solution below this line!
- rublen's solution | View in browser
- Jonathan Yiv's Solution | View in browser
- Akshat's Solution | View in browser
- Jason McKee's solution | View in browser
- justinckim3's solution
- endotnick's solution | View in browser
- ticklybanana's solution | View in browser
- Qin's solution | View in browser
- MGiagante's solution | View in browser
- Bn8's solution | View in browser
- Beachfern's solution | View in browser
- Kasey Z.'s solution | View in browser
- GuyInALabCoat's solution | View in browser
- Anya Finkelstein's solution | View in browser
- Ben Deltenre's solution | View in browser
- Demo318's solution | View in browser
- Dallaire's solution | View in browser
- Ryan Ford's solution | View in browser
- SadieD's solution | view in browser
- Breadbear's solution | View in browser
- Adong520's solution | view in browser
- Grey-Ghost's solution | view in browser
- xavier solution | view in browser
- holdercp's Solution | View in Browser
- BenBrewerBowman's Solution | View in Browser
- Webdev-burd's Solution | View in Browser
- Shane's Solution | View in Browser
- kdelante14's Solution | View in Browser
- Alexander Chalk's Solution | View in Browser
- dfan14051's Solution | View in Browser
- maz's Solution | View in Browser | I0-I6
- RichJDSmith's Solution | View in Browser
- mindovermiles262's Solution | View in Browser
- Oleh Sliusar's solution | view in browser
- yilmazgunalp's solution | view in browser
- theghall's solution | view in browser
- plinovodja's Solution | View in Browser
- DominicM's Solution | View in Browser (Bootstrap Edition)
- ToTenMilan's Solution | View in Browser
- sofiegraham's Solution | View in Browser
- Nikolay Dyulgerov's Solution | View in Browser
- Benjamin_Res Solution
- John Phelps's Solution | View in Browser
- Yash Anand's Solution | View in Browser
- Václav Škvařil's Solution | View in Browser
- ayushka's solution | View in Browser
- Chad Kreutzer's Solution | View in browser
- Siddharth Isaiah's Solution
- Jib's solution | View in browser
- Paul Dariye's solution
- Allen's solution | View in browser
- Angel Vargas' solution
- Jamie's solution | View in browser
- Arman Ghassemi's solution | View in browser
- Alan Russell's solution
- d2bit's solution
- Donald's solution
- Mark Westfall's solution | View in browser
- Tommy Noe's solution | View in browser
- Juan Vazquez's solution | View in browser
- Ruben Mendez's solution
- Michael Alexander's solution | View in browser
- Stanley Quek's solution
- Marina Sergeyeva's solution
- Jonathan Faulk's solution | View in browser
- Erithair's solution | View in browser
- James MacIvor's solution | View in browser
- Antonio Augusto's solution | View in browser
- insomniacode's solution | View in browser
- John Quarles' solution | View in browser
- Vidul's solution | View in browser
- Dorian Iacobescu's solution | View in browser
- Tyler Travers' solution | View in browser
- Chris Dziewa's solution
- Kate McFaul's solution | View in browser
- Andy Linteau's solution | View in browser
- Sami Bashraheel's solution
- Dominik Stodolny's solution | View in browser
- Kevin Weir's solution
- Jason Matthews' solution
- chasmani's solution | View in browser
- Kevin Mulhern's solution | View in browser
- Greg Park's solution | View in browser
- Alice Rhomieux's solution | View in browser
- Eleanor Weigert's solution | View in browser
- Julian Feliciano's solution | View in browser
- Chris Hall's solution | View in browser
- omokoro's solution | View in browser
- Ryan Jordan's solution
- Andrej Dragojevic's solution | View in browser
- eddie's solution | View in browser
- Rick Stewart's solution | View in browser
- Tamim Sookoor's solution | View in browser
- Josh Klein's solution
- John Lampe's solution | View in browser
- Andrea Kulbaba's solution
- Matias Pan's solution
- Dan Hoying's solution | View in browser
- AtActionParks's solution | View in browser
- Gb69010p's solution | View in browser
- Mark Viola's solution | View in browser
- Bhupendra Singh's solution | View in browser
- Joe Balsamo's solution | View in browser
- Cody Gipson's solution | View in browser
- Jason Symons' solution | View in browser
- Taylor Buchheit's solution | View in browser
- Tarun Johnson's solution | View in browser
- Arthur Vieira's solution | View in browser
- Thomas Vaeth's solution
- Brian Burke's solution
- Alex Tsiras' solution
- Angus Dobson's solution | View in browser
- dchen71' solution
- Scott Bobbitt's solution | View in browser
- Ho Won Cheng's solution | View in browser
- Florian Mainguy's solution | View in browser
- Panashe Fundira's solution | View in browser
- Dylan Bailey's solution
- Noah Prescott's solution | View in browser
- Paweł Cichoń solution | View in browser
- Chris Swanson's solution | View in browser
- Chris Watland's solution | View in browser
- Spekachu's solution
- Adrian Manteza's solution | View in browser
- Corey Cunningham's solution | View in browser
- Austin Mason's solution | View in browser
- andrewdbass' solution
- djhart's solution | View in browser
- Ricardo Villegas' solution (including Extras section) | View in browser
- Giorgos Mitsis's solution | View in browser
- Sandeep Navghane's solution | View in browser
- Michael Sotkin's solution
- James Brooks's solution | View in browser
- Andrew Park's solution
- Petros Kalogiannakis's solution | View in browser
- andrewdbass' solution
- djhart's solution | View in browser
- Ricardo Villegas' solution (including Extras section) | View in browser
- Alan Daniels's solution
- Corey Kazaks' solution | View in browser
- Skye Free's solution | View in browser
- Mateusz Staszczyk’s solution
- Dominik Chomicki's solution | View in browser
- Cecilia Avery solution | View in Browser
- Luke Walker's solution | View in browser
- Novneet's Solution
- Miguel Herrera's solution
- Matt Velez's solution | View in Browser
- Kelvin Stone's solution | View in browser
- Andrew Johnson's solution | [View in browser]
- Francisco Carlos's solution
- Jack Wilde's solution | view in browser
- YogAzathoth's solution | View in browser
- Kelly Downes' solution | View in browser
- Andrew Wilson's solution
- Jack Deegan's solution | View in browser
- Earth35's solution | View in browser
- Zac Conner's solution | View in browser
- DV's solution | View in browser
- Jean Merlet's solution | View in browser
- Jess Farley's solution | View in browser
- Hassan Mahmoud's solution | View in browser
- parhaml's solution | View in browser
- Joshua Berry's solution | View in browser
- Javeed Ishaq's solution | View in browser
- Peter Taggart's solution | View in browser
- Tony Vumbaca's solution | View in browser
- Johnny Rasnic's solution | View in browser
- CodyLBuffaloe's solution
- Fabricio Carrara's solution | View in browser Completed to I6 section.
- Tomas Rojo's solution | View in browser
- Deepak's solution | View in browser
- Josh Cummings' solution | View in browser
- Lani Huang's soluton | View in Browser
- Shala Qweghen's solution | View in Browser
- John Connor's solution | View in browser
- SlurmzMckenzie's Solution | View in browser
- dzero's solution | View in browser
- Oscar Y's solution | View in browser
- Ricardo Ferreira's solution | View in browser
- Piotr Ejsmont's solution | View in browser
- Joshua Hipple's solution | View in browser
- Odeson's solution | View in browser
- Tom Westerhout's solution | View in browser | Including I0 to I6
- Mason Embry's solution | View in browser
- Paul McGarry's solution | View in browser | Completed to I6
- Jiazhi Guo's solution | View in browser
- Ace Cassidy's solution | View in browser
- Derek Kwong's solution | View in browser
- Emil Dimitrov's solution | View in browser
- Leo Soai-Van's solution | View in browser
- Armin Zierlinger's solution | View in browser
- Vanessa Tan's solution | View in browser
- Manu Phatak's solution | View in browser
- Karthik's Solution | View in browser
- Roy Chen's solution | View in browser
- HenrytheDJ's solution | View in browser | I0-I5
- Young Jeong's Solution | View in browser | I0-I6
- Loris Aranda's solution | View in browser
- Defgarden's solution | View in browser
- m-chrzan's solution
- Adam Levin's solution | View in browser |I0-I5
- Dom Goj's solution | View in browser |I0-I6
- grzegorzzajac1989's solution | View in browser |I0-I5
- Mityadsch's solution
- Trevor Drury's solution |10-15
- Zach Beaird's solution | View in browser
- Mike Coon's solution | View in browser
- Jason Keeney's solution|View in browser
- David Chapman's Solution|View in browser
- Derek Scace's Solution | View in browser
- Yorick's Solution | View in browser
- Max Tsao's Solution
- Bishal Shrestha's Solution with multiple image upload | View in browser
- Christopher Corder's Solution | View in Browser
- Raiko Murulauk's Solution | View in Browser
- Ayon Pal's Solution | View in Browser
- Jerry Gao's solution | View in browser
- Veselin Ivanov's solution | View in browser | 10-15
- nmac's Solution | View in Browser
- Ryan Barnett's solution | View in Browser
- Samuel Langenfeld's solution | View in Browser
- Stefan P's solution | View in Browser
- Austin Norman's solution | View in Browser
- Justin V's solution | View in Browser
- Behdad Analui's solution | View in Browser
- Josh Vogel's solution | View in Browser
- jeff1st's solution | View in Browser
- huseins ghafari's solution | View in Browser
- Alan Cruse's Solution
- NIÑO MOLLANEDA's Solution | View in Browser
- Dustin Seright's Solution | View in Browser
- Dan Sack's Solution | View in Browser
- egg303's Solution | View in Browser
- Robert Szabo's Solution | View in Browser
- Parker Brown's Solution | View in Browser
- Øistein Haugland's Solution | View in Browser Completed to I5
- hallitee's Solution | view in Browser Completed to I5
- Pat's Solution | view in Browser
- Luján Fernaud's Solution | View in browser
- Viet's Solution | View in browser
- Andrew DeNike's Solution | View in browser
- Paritosh Sharma's Solution | View in browser
- EMuchynski's Solution | View in browser
- Eren Cataltepe's Solution
- uvieugo's Solution | View in Browser Up to part off I6
- Seederwood's Solution | View in Browser
- Anistor86's Solution | View in Browser
- Phucledien's Solution | View in Browser
- coryparham24's Solution | View in Browser
- Oliver Curting's Solution | View in Browser I0-I5
- Alex's Solution | View in Browser
- Celestine's Solution | View in Browser

*This section contains helpful links to other content. It isn't required, so consider it supplemental for if you need to dive deeper into something*

- The official Ruby on Rails guides are an excellent resource if you want to build on your knowledge.
- If you want, you can take a look at The Ruby on Rails Guides: Getting Started from last lesson again. This will help you add some extra features to your blog such as deleting comments.
- You can read the Introduction to Core Ruby Tools from LaunchSchool to get a better understanding of Ruby and Rails concepts such as gems, version managers, bundler, and rake.

From the creators of The Odin Project...

The Viking Code School