The Republic 310

This is website I made for a startup company. They decided to switch to Shopify due to their budget, so this website is currently not active (anything you purchase will be void; no products will be sent to you if you use this site).

Technologies Used

  • React (TypeScript)
  • React Context API
  • CSS
  • NodeJS
  • Express
  • JSONWebTokens
  • bcrypt
  • NoSQL
  • MongoDB

Project Inspiration and Purpose

The startup company I was working with wanted their own full-stack website, so I used my knowledge to make one for them. I completed this project entirely on my own.

The Tech that Made it Happen

I used React to make this project come to life. For the backend, I used the same backend combo of Express, MongoDB, and NoSQL that I used for my previous project. However, I wanted to challenge myself to use something that was completely new to me: TypeScript. Initially, I felt intimidated at seeing the complexity of one's code once it's "translated" from JavaScript to clean, effective TypeScript. However, after working with it, seeing its advantages over regular JavaScript, and ultimately learning how to write cleaner code with fewer bugs--I fell in love. Although it's only been a month, imagining myself coding with vanilla JavaScript just feels irresponsible and reckless. (I also got to improve my Photoshop skills with the graphic designing I did for the logos and some labels!)

Challenges and Lessons

I've acquired a tremenous amount of wisdom while working on this project. I also got to use some of the knowledge I've acquired since studying data structures and algorithms. Firstly, I needed a way to sort a variable array of objects by a variable key. I created a little module that uses the quicksort algorithm to sort by the given keys. Secondly, I learned more about how to optimize React's rendering, as well as the server (I will be shifting to faster options in the near future, with the likes of TypeORM, Type-GraphQL, and Redis). Lastly, I've not only learned a lot about better practices for writing code in a reusable fashion, but also found a wealth of resources to dive into and further my knowledge and ability to work with everything React has to offer. I certainly would not have grown without electing to use TypeScript over JavaScript for this project, nor would I have been directed down a far more grand path of wisdom, knowledge, and practice so soon in my career. The difficulties of learning to use TypeScript have been an absolute blessing.

Check out my other projects

mindful.io

View Project

The Republic 310 (Shopify)

View Project