The next-generation version of my personal blog with a lot of improvements and an upgraded tech stack.
- In this version, back-end and front-end work on the same domain without any CORS policy issues. Thanks to the Maven plugin called frontend-maven-plugin, REST API is available at the /api subpath.
Front-end: React + Vite, Tailwind CSS, shadcn/ui, MagicUI, BundUI.
Back-end: Spring Boot, MySQL.
- Install Git on your machine to clone the Github repository.
- Install Docker (Docker Desktop or Docker Engine on Linux) on your machine to build and run the application locally.
Create a new directory where you want to deploy the application, then clone the Github repository into it:
git clone https://github.com/artndev/artndev-blog-v2.git .
Navigate to the project directory:
cd root
Change the working branch from master (production branch) to dev-public (public development branch) due to the specialties of the production and development environments:
git checkout dev-public
Open the .env.local file located in the root directory and fill in the required environmental variables:
# Table schemas can be found in src\main\java\com\blog\blog\schemas folder
# They are needed to create the same environment as mine
# IP of admin (other IPs will be blacklisted)
VITE_ADMIN_AUTH_IP=...
# UUIDv4 secrets used for access to secured destinations
VITE_ADMIN_AUTH_TOKEN=...
# API URL remains untouchable (if you are running project locally)
# Otherwise, change API URL to something like this:
# https://your-domain.com/api
VITE_API_URL=http://localhost:8080/api
# URL of source code in header
VITE_SOURCE_URL=https://github.com/artndev/artndev-blog-v2
# URLs in footer
VITE_GITHUB_URL=https://github.com/artndev
VITE_TELEGRAM_URL=...
VITE_LICENSE_URL=https://github.com/artndev/artndev-blog-v2/blob/master/LICENSE.md
# Your DB credentials
DB_HOST=...
DB_NAME=...
DB_PASSWORD=...
DB_PORT=...
DB_USERNAME=...
Use the build.sh script located in the root directory to build and run the application with Docker:
bash build.sh
Once the build is completed successfully, the application will be available at http://localhost:8080.