My Full-Stack Development Process

From building the backend to hosting the portfolio website on AWS EC2

Source Control and CI/CD

I use GitHub for source control, ensuring that all code is versioned, organized, and securely stored. For continuous integration and continuous deployment (CI/CD), I leverage GitHub Actions to automate my development workflow. This includes automated testing for quality assurance, which runs each time changes are pushed to the repository. Once tests are successful, the deployment process is triggered, ensuring that updates are seamlessly integrated into the production environment.

Source Control

Source Control

CI/CD and Automated Testing

CICD

Reverse Proxy with Nginx

For modularity, I run each individual project on a separate docker-container. I use Nginx as a reverse proxy to communicate between the docker containers and for load balancing.

Docker for CI/CD and Containerization

To make the website easy to build, run, and deploy in various environments, I containerized the application using Docker. This allows me to package the code along with its dependencies into a single container that runs consistently across development, testing, and production. Docker facilitates a uniform and reliable build and deployment pipeline. This allows me to test my website on my local machine before deploying it to the cloud, allowing for a CI/CD pipeline.

Docker

Cloud Deployment on AWS EC2

For hosting the website, I deployed it on an AWS EC2 instance. GitHub actions allows me to ensure the EC2 environment is configured appropriately, such as installing requirements to a virtual environment, and restarting any container when changes are made. EC2's scalability makes it ideal for my ever-growing portfolio.

Docker

SSL Certification and Domain Registration

From my strong cybersecurity background, I understand the importance of the latest security measures. My final step for the backend was to add an SSL certificate to allow for HTTPS traffic. I configured the docker container to auto-renew these certificates. Lastly, I registered a domain and configured it to route to my EC2 instance.

Frontend using Bootstrap

I have a very strong background in design. In the homepage, I have included a section detailing my experience in design. I used Bootstrap for an elegant and modern UI/UX for my portfolio.

Back to Portfolio