βοΈ Written by: Chaitanya Chopde
π«chaitanyachopde14@gmail.com
Inspired By: @devsyncin
π Introduction
Creating a professional portfolio website is one of the best ways to showcase your skills as a developer. In this tutorial, Iβll walk you through how to build and run a full-featured portfolio website using:
β Java (Spring Boot backend)
β HTML, CSS, JavaScript frontend
β Maven for project management
β VS Code as the IDE
By the end, youβll have a fully functional portfolio with a working contact form, animations, and a clean modern UI.
π§° Tools & Tech Stack
- Java 17+
- Spring Boot 3.x
- Maven
- HTML/CSS/JavaScript
- VS Code
- Chocolatey (optional)
- Windows OS
π§ Step 1: Install Prerequisites
β
Install Java 17
Using Chocolatey (fastest method):
β
Verify Java & Maven
Open PowerShell or CMD:
π Step 2: Project Structure
πΌοΈ Step 3: Frontend Code
index.html
script.js
βοΈ Step 4: Backend with Spring Boot
ContactController.java
PortfolioBackendApplication.java
π Step 5: Run the Website
π» Backend (Java)
Open backend folder β Terminal:
Backend runs at:
http://localhost:8080
π Frontend (HTML)
Use Live Server in VS Code:
Right-click index.html β "Open with Live Server"
Form submits to backend β You get a success alert β
π§ͺ Testing
- Run backend
- Run frontend
- Submit contact form β Check terminal logs
- π Your full-stack portfolio is working!
π οΈ Common Errors
- β mvn not recognized Maven isnβt in your PATH
Fix: Add C:\path\to\maven\bin to Environment Variables β Path
- β CORS Error Add @CrossOrigin(origins = "*") in your controller
π Future Upgrades
- Add Resume Upload
- Dark/Light Theme Toggle
- Database for storing messages
- Deploy backend (Render) and frontend (Vercel)
π Final Notes
Building your own portfolio from scratch using Java + HTML is a great learning experience. You learn how frontend talks to backend, how to build REST APIs, and how to deploy projects.
π Inspired by @devsyncin
Special thanks to @devsyncin community for inspiring clean code, full-stack clarity, and real-world deployment skills.
Top comments (0)