This is a personal portfolio site made by me using Java Spring Boot. It utilizes the backend so that the site dynamically loads blog posts, experiences, projects, and skills stored in the database that can be changed without the need to modify any code.
Link: jasonpyau.com
API Documentation: https://app.swaggerhub.com/apis-docs/jasonpyau-com/jasonpyau.com/1.0.0
This website is hosted on my Raspberry Pi, using Cloudflare's free tunneling services for SSL certificate and DDoS protection and GitHub Actions for continuous deployment on Git push.
jasonpyau.com_demo.mp4
(Ubuntu)
Create secrets.properties (./backend/src/main/resources/secrets.properties) - secrets.properties.sample
SPRING_ACTIVE_PROFILE=default
MARIADB_SERVER_URL=YOUR_MARIADB_SERVER_URL_HERE
MARIADB_DATABASE_NAME=YOUR_MARIADB_DATABASE_NAME_HERE
MARIADB_USERNAME=YOUR_MARIADB_USERNAME_HERE
MARIADB_PASSWORD=YOUR_MARIADB_PASSWORD_HERE
EMAIL_NOTIFICATION_SENDER_ADDRESS=YOUR_EMAIL_NOTIFICATION_SENDER_ADDRESS_HERE
EMAIL_NOTIFICATION_SENDER_PASSWORD=YOUR_EMAIL_NOTIFICATION_SENDER_PASSWORD_HERE
EMAIL_NOTIFICATION_RECEIVER_ADDRESS=YOUR_EMAIL_NOTIFICATION_RECEIVER_ADDRESS_HERE
ADMIN_PANEL_PASSWORD=YOUR_ADMIN_PANEL_PASSWORD_HERE
RESUME_LINK=/files/Resume_Template.pdf
Create AdminPanel.properties (./admin/AdminPanel.properties) - AdminPanel.properties.sample
SERVER_URL=YOUR_SERVER_URL_HERE
ADMIN_PANEL_PASSWORD=YOUR_ADMIN_PANEL_PASSWORD_HERE
Run Spring Boot Project
sudo apt update
sudo apt install openjdk-17-jdk
cd ./backend
sudo bash ./mvnw spring-boot:run