A few days ago, I decided to try out RemixJS and tried building a link shortener using it... cause if I create one more Todo List app, I'll lose my mind. Here's my experience of using Remix till now.
What is Remix?
Well, let me start with what Remix is. If you've used ReactJS before, you'd most probably have come across React Router. Around a couple years ago, the founders of React Router decided to create a React framework on top of React Router. It originally needed a license, but last year, they decided to go open source! So now, it is something anyone can access.
More about Remix?
I started following Kent C. Dodds, who is a part of the remix team, and he has a lot of livestreams where he talks about remix, and has a couple videos which really pushed me to try out remix. I highly recommend subscribing to his Youtube Channel and he has an amazing Website also built using remix. You'll learn about some very cool stuff if you go through it, and you can find a really good video on it by Kent here.
About the Link shortener
I decided to try Remix out by creating a Link shortener, because that was something simple yet I could experiment with concepts like authentication, data fetching and all that fancy stuff. You can find the code here. First, I went through the tutorials on Remix's docs which is a really good resource on starting with remix.
Then, I started off and decided to use Github for authentication. Now, I didn't want to implement Github OAuth by myself and didn't want to go through the work of having to manage tokens in the app, so I decided to use Remix Auth. It works really really well with Remix and has support for a lot of strategies. It took me a little while to get started with it cause, it didn't really have good docs at the time but the examples were helpful. Now, the docs have improved a lot and you should be good to go pretty soon.
The Jokes tutorial covered most of the concepts I needed to build the url shortener. So, it didn't take me too long to complete the app. All the concepts, including db interaction, data fetching, form validation and submission was already stuff I'd read about in the tutorial so I would recommend going through that to get started with Remix.
In the end, I had a great time getting started with Remix and I think it's definitely something I'll use more in the future.
Make sure to star the repo below and would love to know your experience with Remix after you give it a go in the comments! You're welcome to use the shortener for your use!