Skip to content

windsnow1025/UniWebPlatform

Repository files navigation

UniWebPlatform

Introduction

A full stack web application for my personal website containing:

  1. User system
  2. markdown blogs
  3. Editable bookmark
  4. Message transmitter
  5. Password generator
  6. Image generator
  7. AI chat bot

Tech Stack

Front End:
  - Node.js:
    - React.js:
      - Next.js:
        - Tailwind CSS
      - MUI
Back End:
  - Node.js:
    - Express.js
  - Python:
    - FastAPI
Storage:
  - MySQL
Infrastructure:
  - Nginx
  - Docker:
    - Docker Compose
  - Linux:
    - Debian 11

Live Demo

https://www.windsnow1025.com

Setup

Production

Requirements

Linux
  1. Logged in as the root user in Debian 11 with a minimum RAM of 4GB.

  2. Install Docker Compose

apt-get install ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Windows

Docker Desktop

Build

docker compose build
Run

Rename ./env.example to ./env, add environment variables in node.env, fastapi.env, mysql.env.

docker compose up [-d]

Development

Windows

Manually setup and run Next, Node, FastAPI separately according to their documentations.

Usage

Test Availability

curl localhost:81