This is a personal portfolio and blog system that allows me to manage articles without redeploying the whole website. The most challenging and fun part of the development was applying better techniques and technologies to an existing project as I gained more and more experience.
Features:
- Dark/Light themes
- Authentication with Google, GitHub
- Sending emails (contact page) via Sendgrid
- Support for nested comments on blogs/projects (image below)
- Text editor to make articles like this one (image below)
Technologies:
- MERN stack
- Typescript on client and server
- React Query to manage asynchronous data
- Styled Components for styling
- Jest for testing
- Cloudinary to store images
- Highlight.js to highlight the code
- Redis for caching
- Recaptcha v3 verification for contact messages
- Deployed on Netlify and Fly.io, connected via Cloudflare DNS
- Automatic server deploys with GitHub Actions
Comment section:
Editor Layout with live preview:

