Ship an app with Remix

Intermediate
(0)
Sam Selikoff's avatar
Sam Selikoff

Since 2016 I've made a living teaching JavaScript UI development

Build UI logo Build UI
Remix Remix
React

About this course

In this course you'll learn Remix by building a personal Work Journal app. You'll set up a database, render pages with dynamic data, use actions and forms to save user input, explore nested routing, learn how to render custom error pages, and finish by adding authentication and deploying your app. By the end, you'll have a polished Remix app of your own that you can use as both a personal journal, as well as a rock-solid side project you can keep working on as you continue to learn Remix and other libraries in the React ecosystem.

Price 349.00

Lifetime Access

Duration 5h
Level Intermediate

What you'll learn

Scaffolding a new app

Create a brand new Remix project and add tooling for TypeScript, Tailwind and Prisma.

Creating an entry form

Build the frontend form and define an action for our first user flow.

Saving new entries

Set up Prisma and SQLite to persist our dynamic data.

Adding pending UI

Improve our form's UX with validations, default values, and a styled pending state.

Loading entries

Use our homepage's loader to render dynamic entries from our backend.

Displaying entries by week

Map and reduce our dynamic entries into weekly groups using the date-fns library.

Creating the edit page

Define a new dynamic route that loads an entry based on the URL.

Editing entries

Build a form and action that lets users edit entries.

Making the entry form reusable

Refactor our form component so it can be used to both create and edit entries.

Deleting entries

Learn how progressive enhancement works in Remix by making a form to delete entries.

Adding an authenticated state

Let admins sign in by adding a login route that creates a session cookie.

Adding a logout button

Let admins sign out by creating a form that destroys the session.

Customizing the public UI

Use the session to hide admin-only user flows from public guests.

Securing our app

Learn how to secure our backend data from unauthorized requests.

Customizing the error pages

Use an Error Boundary to provide better feedback to users when they encounter an exception.

Adding error messages to the login form

Use the return value from our login action to show validation errors to the user.

Mobile redesign

Give our UI a facelift on smaller screens using Tailwind CSS and some digital design best practices.

Desktop redesign

Finish up our redesign by adapting the UI for larger screens.

Deploying our app

Deploy your brand new Work Journal to Fly.io so you can share it with the world!

Reviews

(0)
No reviews yet. Be the first to review this course...