While going through the Remix course from Egghead.io, I found it difficult to follow along with code changes each lecture.
I broke the code changes into lectures so that it would be easier to follow.
Each lecture has an associated Diff Store link that shows you the changes and lets you download the code as shown at the beginning or end of any of the lectures.
As students go through the course, it's helpful to code along with the instructor. Sometimes if the instructor codes very quickly or jumps between files quickly, students can get a bit lost.
Having all the code changes in one place can help!
Also, as an instructor, having these code changes before recording helps me record better. That's an added bonus.
Finally, if students want to pause the course and play around with the code, they can do so without worrying that their code will go out of sync with the instructor's code. When they move onto the next lecture, they can just download the "start" code from the lecture page and work off that.
Here are the Diff Store links:
- Intro: Up and Running with Remix (no code changes)
- Create a New Remix Project Using the remix-create CLI
- Run
npx create-remix --template remix-run/indie-stack .
- Say "Yes"
- Keep "TypeScript"
- Run
npm run dev
to start
- Run
- Create Your First Remix Route
- Fetch Data in Remix Using a Basic Loader
- Remix Server Code Filename Convention
- Integrate TypeScript Into a Remix Loader Function
- Model Data in the Prisma Schema for a Remix App
- Avoid Over-Fetching in Prisma by Using findMany
- Create a Dynamic Segment in Remix
- Process Markdown on the Server Using a Remix Loader
- Get TypeScript Coverage for Dynamic Parameters in Remix with Invariant
- Render Nested Routes in Remix
- Use Remix Actions to Handle Form Submission POST Requests
- Validate Form Fields in a Remix Action
- Typing Form Submission Values with tiny-invariant
- Handle Loading State with Remix useTransition
- Pre-emptively Load Links with Remix prefetch
- Expose Specific Environmental Variables to The Client Using Remix
- Create an Admin User Hook using Remix to Verify Admin Users
- Hide Admin Routes from Non-Admin Users in a Remix App
- Allow Admins to Edit Existing Posts on Remix Applications
- Populate Remix Edit Form with Existing Post Data
- Add Update Functionality to an Edit Post Page in Remix
- Add Delete Functionality to Posts Page in Remix
- Add TypeScript Typing to Admin Routes in a Remix App
- Handle 404s in Remix with CatchBoundaries
- Handle Unexpected Errors With Error Boundaries in Remix
- Deploy a Remix Application to Fly.io
- Outro: Up and Running with Remix (no code changes)
Note: at the moment there's a minor bug in Diff Store so the "From" and "To" paths are the same (both show the "To" path).