Skip to content

Personal portfolio and blog website made with Spring Boot

License

Notifications You must be signed in to change notification settings

jasonpyau/jasonpyau.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jasonpyau.com - Personal Portfolio Website

Table of Contents

  1. About
  2. Demo
  3. Get Started

About

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.

Demo

jasonpyau.com_demo.mp4

Get Started

(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