DEV Community

Christoffer Niska for CodeHub

Posted on

Building CodeHub: Crafting the Technology Stack

As we continue our journey in building CodeHub, we'll now shift our focus to the technology stack that powers our platform. In case you missed the beginning of our story, you can catch up on the origins of CodeHub to understand how it all began.

Choosing the right technologies

Given our extensive experience with TypeScript, React, and Next.js, choosing these technologies was an obvious decision. We were eager to launch our service as quickly as possible.

For server-to-client communication, we opted for GraphQL due to its strong typing, self-documenting capabilities, and the availability of numerous helpful libraries. We selected Apollo as our GraphQL server and client. My prior experience with Apollo, along with its built-in caching features and robust developer tools, influenced our choice.

Recognizing the relational nature of our data, we embraced PostgreSQL for its rich feature set. As our database client, we settled on Prisma, primarily for its schema prototyping capabilities with db push.

Next, we needed to decide on a user interface library. Our requirements were clear: a library with a rich collection of components. After brief research, we settled on Chakra UI for its simplicity, modularity, accessibility, and extensive component library. Its use of Styled System, with which I was familiar, further solidified our choice.

Finally, we had to select a platform for deployment. Having previously used Vercel for deploying Next.js projects, it was the natural choice. We also decided to explore Vercel's new offerings, including serverless PostgreSQL and fast object storage.

What's next?

In the upcoming part of this series, I'll share our journey in selecting the code editor for CodeHub. Trust me, it wasn't an easy task to find a solution that met all our needs.

Stay tuned for more.

Top comments (0)