Logo
AboutBlogTodos
Login

A Brief Introduction.

Hey, my name is Brock Donahue. I am currently a Full Stack Developer that works at SOCSoter in Hagerstown MD. I've taken a sort of tech lead role leading us to branch out to new technologies and modernize our stack. We previously made use of Laravel as our full stack solution of choice, but I encouraged a move towards React with a SSR framework. I spent a lot of time getting a prototype together of a reasonable replacement for the core of our application and we are getting closer each day to being able to fully switch into our new stack. The stack we went with is Remix for the main glue of data fetching, mutation, and SSR; plus Prisma as our ORM to help encourage good database practices and give better visiblity of the structure of our database.

Having worked on this project for about 8 months now, there's been a lot of new knowledge I gained. Some of the biggest challenges were setting up a reliable deployment in AWS with our own personal EC2, creating an inter-op layer between our two services so that customers had a seamless experience navigating between both, and adding a brand new RBAC system to manage permissions in a more robust way in our new server. I don't want to go into too much detail here about much of those systems for this post, but I do want to discuss some other interesting pieces of early react SSR. It may not be entirely fair to say truly early SSR, but probably closer to a 75% complete solution. The thing I've learned most from it though, is creating a full stack application that works, with or without javascript first. Once you have your app working as a basic HTML page, then you can start looking to javascript for you extra enhancements and nice pieces.

Using SSR in this way gives you a great first load time for your users, makes your app robust so that you still have a product even when everything goes wrong in your javascript. When I went to create this site, I knew I wanted to try out Deno as I had gotten access to Deno's kv beta, and so that led me to either Fresh or Aleph.js. My choice ended up being Aleph since it felt more like Remix to me but seemed like a Deno native Remix solution. While creating this app I kept my base HTML working first mentality and that's paid off well for this site. Only a day after posting my site I got CDN errors importing React which entirely killed my javascript. Thankfully since my application was built first without javascript everything still works and functions fine.

This post has been a bit all over the place, but part of the goal for this site is to work on my writing skills and help give myself a visual on my progress as I continue to develop and grow my knowledge.