Feroz's Portfolio Projects - ferozfaiz.com
Welcome to my portfolio, showcased at ferozfaiz.com. It has different segments, each demonstrating a distinct feature of my work in web and software development.
-
- I developed this Spring Boot API, relying on PostgreSQL as the primary database. It is secured through OpenID Connect, leverages Hashicorp Vault for secret management, and is deployed on a self-managed Kubernetes cluster. Additionally, I designed and implemented a materialized path data hierarchy for use with Spring Data JPA. A live version is available at spring-boot-api.ferozfaiz.com
-
- I developed ferozfaiz.com using Django, focusing on a fully server-side rendered architecture. To enhance interactivity and reactivity, I integrated HTMX and AlpineJS. Additionally, I implemented OAuth 2.0 authentication, supporting both Google and Microsoft. I used RabbitMQ/Celery to send emails. Kakfa was used to ship logs to ElasticSearch/Grafana. I also used Hashicorp Vault to store secrets. The application is deployed on Kubernetes. A live version is available at ferozfaiz.com
-
- This repository highlights my work with ReactJS 18.2 and Redux. This ReactJS project is a web application that allows users to create, read, update, delete, sort, and search data. A live version is available at reactjs.ferozfaiz.com
-
- This directory contains the developement codes of Angular 16.2, a structural framework for dynamic web apps. This Angular project is a web application that allows users to perform the same CRUD operations as the ReactJS app. A live version is available at angular.ferozfaiz.com
-
@nartix/tiptap-inline-code-highlight:
- This npm package I created is a port of @tiptap/extension-code-block-lowlight, but it's for highlighting inline codes in the TipTap editor. It uses Lowlight to highlight codes.
-
- A lightweight CSRF protection middleware for Next.js on the Edge Runtime. It performs a double check on the CSRF token by comparing the token from the request body or headers with the token stored in the cookie.
-
- This ExpressJS project is an API that ReactJS and Angular use to enable users to perform CRUD operations. A live version is available at expressjs.ferozfaiz.com
-
- I also learned Django and developed an API backend with Django Rest Framework. This was designed to parallel the functionality of the existing ExpressJS API backend of ferozfaiz.com. A live version is available at django-rest-framework.ferozfaiz.com
-
- I use Ansible for automation and orchestration, along with Kubernetes for container orchestration. I deployed my portfolio projects using the RKE2 kubernetes engine.
-
- This section is dedicated to HAProxy, a high-availability load balancer and proxy server for TCP and HTTP applications. I used HAProxy to load balance traffic between Kubernetes nodes.
-
- Within this directory, you'll find the Kubernetes deployment manifests that I utilized for deploying ferozfaiz.com.
-
- This section features shell scripts I developed for backing up and restoring a PostgreSQL cluster from an AWS S3 bucket
-
- I've utilized GitHub Actions to streamline the automation of my deployment containers' build process, as well as the subsequent pushing of the built containers to AWS ECR
-
Development
- For my portfolio projects, I employed Docker containers in conjunction with Docker Compose for development and testing. Utilizing Docker containers simplifies the process of experimenting with various technology versions seamlessly. Additionally, I leveraged Git for efficient version control