Noah Networks is my personal website. This full-stack web application is a portal to my projects, hosts my blog, and has built-in tools for quickly adding/managing content.
The client-side application is built using NextJS, written in TypeScript, and deployed using Vercel. Styling is made easy with TailwindCSS and remote data is fetched and modified with GraphQL using Apollo Client.
All form fields use customized MUI components with React-Hook-Form under the hood for validation and error handling.
When a user logs in, a JWT token is created and saved in localStorage for use in validating API requests and routing permissions.
Logging in gives the user access to an additional tab called Editor for managing content on the website. This editor is capable of creating, editing, and deleting projects and blog entries.
The backend application is a GraphQL server built using Express and Apollo, written in TypeScript and hosted with Heroku. Prisma, an open-source ORM, is used to manage and interact with a Postgres database and Docker is used to manage a local instance of that database.
APIs for authentication, and content management are made available along with tables for holding users, sessions, logins, blogs, and projects.