TheOdinProject / rails_course

Home of The Odin Project's rails curriculum
40 stars 76 forks source link

Syllabus #2

Open KevinMulhern opened 6 years ago

KevinMulhern commented 6 years ago

A place to discuss and decide upon the syllabus for this course.

Syllabus


Section: The Track Ahead

CouchofTomato commented 6 years ago

To kick off some ideas here. I think the following areas could be addressed.

  1. Sinatra has moved on from the tutorials currently there. It's not a huge part of the track but updating that would be great.
  2. I'm not sure if railsbook now covers form_with, but we definitely should.
  3. I would like to add a bit somewhere about yarn and webpacker. They are definitely going to be more heavily used in future. I would look to either the section on the asset pipeline, since it replaces that to an extent, or in the advanced topics section.

This course doesn't require a huge amount of work, but rails 5 and 5.1 was a big step forward for rails and we need to ensure our curriculum covers that.

KevinMulhern commented 6 years ago

@CouchofTomato

I agree with all of that, sinatra could be expanded into more lessons and the projects could be simplified. The games aren't great for teaching about http and the nature of the projects being games promotes hacky solutions.

I'm on the fence about webpacker and yarn, we should put it in the advanced rails section imo.

Heres my thoughts on the course.

Sections I think its missing or that should be expanded:

Things we could potentially remove or change

Other things I would like to do with this course:

CouchofTomato commented 6 years ago

Thanks for great feedback @KevinMulhern

Why on the fence about webpacker and yarn? They are useful javascript tools to know anyway so it seems crazy we wouldn't at least cover it to me.

What about Actioncable too? How important is that to know?

Testing is a definite. Good call there. Biggest issue is railsbook annoyingly being in minitest. Are we aiming to cover testing techniques in general and then give some resources for both minitest and rspec?

I think nested attributes should at least be covered a little bit but I'll take your lead here because I don't have any production rails app experience.

I feel both the rails guides and the rails book were a real slog. We can't change railsbooks due to no great alternative so definitely we can look at the rails guides.

It would be great to expand the API section. There are some brilliant API's out there that could be made into awesome apps that would look great on a CV.

Do we want to touch at all on anything like caching (like Redis) or some rails really common design patterns?

CouchofTomato commented 6 years ago

@JonathanYiv Do you have anything to add here?

CouchofTomato commented 6 years ago

@KevinMulhern Do you think it would be worth copying the syllabus as it is in my post to your top comment so we can keep an eye on it's current status there.

KevinMulhern commented 6 years ago

@CouchofTomato Moved the syllabus to the top comment šŸ˜„

I'm on the fence because its not strictly necessary to know, the asset pipeline can still be used out of the box without having to go into yarn and webpacker.

But you've got me thinking šŸ¤” a full "Js with rails" that includes that stuff and other thinks like page specific js and using ajax with rails would be very useful.

I'm not sure about action cable, I personally haven't had an opportunity to use nor have I heard much about it this past while. I think its something we could skip on.

Good point about the rails book using minitest. It would get annoying switching between testing frameworks. I think your idea of teaching the main concepts is the way to go.

We could do a small section on performance. That would cover caching and background workers etc. I think that would be a really valuable thing to add to the course.

KevinMulhern commented 6 years ago

Oh we should definitley have a debugging lesson in there somewhere as well šŸ™ˆ

CouchofTomato commented 6 years ago

Great thanks. I've deleted my comment with the syllabus so it doesn't confuse.

I've used the Rails ajax integrated methods for the Waldo app and they are very handy. They work exactly like Jquery but without needing jquery. You probably knew that already :-p but we should definitely cover it.

I understand regarding asset pipeline and yarn but it's a standard Rails feature and even supports configs out of the box for React, Vue etc. I understand it's not core to understanding rails but knowing it will make somebody more employable imo with many employers looking at using front-end js frameworks.

I like your idea about rails and javascript in a 'js with rails' section though so maybe for now we can leave webpacker for that and focus on things we can work on first to get the current content up to scratch.

The real annoyance about testing is we focus on rspec in the Ruby course so it's just a bit of a pain all round. There isn't much we can do about it though. The concepts are similar so we can focus on those but we will need to provide some specific examples. Maybe we can focus on providing some rspec examples to show how some of the minitest examples in the railsbook would be written in rspec?

Actioncable we can park for now. Might be nice to look at in the future as there are many cool projects you can make with it.

Let's go with a section on performance tuning. It would be great to split out that last section which covers loads of advanced topics into maybe a couple of smaller sections.

CouchofTomato commented 6 years ago

Oh...

Agreed on debugging.

One other thing that has been on my mind is maybe a small section, nothing complex, about the gems that make up rails, how they fit together and how the student can explore the gems themselves. Maybe just covering a few methods they will have come across. It really doesn't need to be deep but just point them in the direction of exploring about a bit themselves. Certainly the methods which monkey patch existing Ruby classes are very interesting from a Ruby perspective.

KevinMulhern commented 6 years ago

šŸ‘ Agree with all of that šŸ˜„ that indeed would be very good stuff to know.

CouchofTomato commented 6 years ago

Unrelated but I've just spent a good minute trying to figure out why they've made an emoji with a milk moustache šŸ˜‚ šŸ˜‚

fml.