Back to Blog
Building My Full-Stack Portfolio: From Localhost to the Cloud

Building My Full-Stack Portfolio: From Localhost to the Cloud

Published on January 13, 2026

Welcome to my portfolio. This project is a full-stack application built from scratch, designed to demonstrate a professional-grade separation of concerns between frontend and backend services. Unlike static portfolio sites, this application replicates a real-world production environment by hosting components on different cloud platforms. Technical Specifications * Frontend: React.js + Vite (Hosted on Vercel) * Backend: Django Rest Framework (Hosted on AWS EC2) * Web Server: Nginx + Gunicorn * Database: PostgreSQL * DevOps: Git, GitHub Actions, Linux (Ubuntu) Architecture The application utilizes a decoupled architecture to ensure scalability and performance: * Frontend: Developed with React to provide a fast, responsive user interface. It communicates with the backend through REST APIs and is hosted on Vercel to utilize their global Edge Network. * Backend: A robust Django API hosted on an AWS EC2 Ubuntu instance. This layer manages the business logic and all database interactions. Key Challenges and Solutions The deployment phase introduced several complex engineering requirements that were successfully addressed: * Nginx and Gunicorn Configuration: I manually configured Nginx on the Linux server to serve as a reverse proxy, efficiently forwarding incoming requests to the Gunicorn application server. * DNS Management: Because the frontend and backend are hosted on separate platforms, I configured advanced DNS records—specifically A Records for AWS and CNAME records for Vercel—via GoDaddy to ensure seamless traffic routing. * SSL and Security: To secure the application, I implemented SSL certificates on the AWS server using Certbot, ensuring all API traffic is encrypted via HTTPS. Furthermore, I configured Cross-Origin Resource Sharing (CORS) in Django to restrict API access exclusively to my verified frontend domain. Future Improvements * Implementation of CI/CD pipelines for automated testing and deployment. * Integration of a blog CMS feature within the Django admin panel. * Optimization of API response times through Redis caching.

Comments (2)

U

Uk

January 14, 2026

👏

R

Raeed

January 18, 2026

👍