Skip to content

pretne/Lite-Blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Lightweight Personal Blog Project

一个前后端分离的轻量级个人博客项目,支持内容发布、互动关系、消息通知与基础管理能力,适合作为全栈练习与面试展示项目。

Features

  • 用户注册、登录、JWT 鉴权
  • 文章发布、编辑、删除、分页、搜索、标签筛选
  • 文章点赞、收藏
  • 评论与评论点赞
  • 用户关注/粉丝关系
  • 站内通知与私信会话
  • 管理端文章审核、下架、警告

Tech Stack

后端:

  • Java 17
  • Spring Boot
  • Spring Data JPA
  • Spring Security
  • JWT
  • H2(默认本地文件数据库)
  • Redis(通知计数与缓存场景)

前端:

  • Vue 3(CDN + ES Module)
  • JavaScript(Fetch API)
  • CSS

Project Structure

new_blog/
├─ blog-backend/
│  ├─ pom.xml
│  └─ src/main/
│     ├─ java/com/blog/
│     │  ├─ config/
│     │  ├─ controller/
│     │  ├─ dto/
│     │  ├─ entity/
│     │  ├─ repository/
│     │  ├─ service/
│     │  └─ util/
│     └─ resources/
│        ├─ application.yml
│        └─ schema-fix.sql
├─ blog-frontend/
│  ├─ components/
│  ├─ css/
│  ├─ js/
│  └─ index.html
└─ README.md

Quick Start

1. Prerequisites

  • JDK 17+
  • Maven 3.6+
  • Python 3(用于本地静态服务)
  • Redis(建议启动,未启用时部分能力可能受影响)

2. Start Backend

cd blog-backend
mvn spring-boot:run

默认后端地址:

3. Start Frontend

cd blog-frontend
python -m http.server 8000

前端访问地址:

Configuration

后端核心配置位于 blog-backend/src/main/resources/application.yml,当前默认项包括:

  • 服务端口:18080
  • 上下文路径:/api
  • 数据源:jdbc:h2:file:./data/blogdb
  • JWT:通过环境变量 JWT_SECRET 注入,默认占位值仅用于开发

推荐通过环境变量注入敏感配置:

jwt:
  secret: ${JWT_SECRET:dev-only-change-me-in-production}

spring:
  data:
    redis:
      password: ${REDIS_PASSWORD:}

API Overview

主要接口分组:

  • Auth: /api/auth/*
  • Articles: /api/articles/*
  • Comments: /api/comments/*
  • Likes/Favorites: /api/likes/*, /api/favorites/*
  • Users/Follows: /api/users/*, /api/follows/*
  • Notifications/Messages: /api/notifications/*
  • Admin: /api/admin/articles/*

Troubleshooting

后端启动失败:

  • 先看日志中第一个 Caused by(通常是根因)
  • 确认 JDK/Maven 版本与 Redis 可达性
  • 检查端口 18080 是否被占用

前端请求失败:

  • 确认后端已启动并监听 18080
  • 确认请求地址包含 /api 前缀
  • 检查浏览器 Network/CORS 报错

License

MIT

About

A Lightweight Blog Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors