POEMON-BLOG  by monkey-papa

Full-stack blog system with AI summarization

Created 1 year ago
375 stars

Top 75.6% on SourcePulse

GitHubView on GitHub
Project Summary

A full-stack personal blog system built with Vue 3 and Go (Gin), POEMON-BLOG offers a modern, feature-rich, and decoupled solution for users looking to create and manage their own blogs. It targets developers and individuals seeking a customizable platform with a clean interface and out-of-the-box usability, benefiting from a contemporary tech stack and a comprehensive feature set.

How It Works

This project employs a microservices-like architecture with a clear separation between the frontend and backend. The frontend is developed using Vue 3, TypeScript, Vite, and Element Plus, managed with Pinia for state. The backend is powered by Go 1.24 with the Gin framework and GORM for ORM, utilizing MySQL 5.7+ as the database. This combination leverages Go's performance for the backend API and Vue's reactivity for a dynamic user experience, while GORM simplifies database interactions.

Quick Start & Requirements

  • Requirements: Node.js >= 20, Go >= 1.24, MySQL >= 5.7.
  • Installation: Clone the repository, checkout the Vue3-Go branch, create and populate the MySQL database using My-Blog-Go/database/schema.sql.
  • Configuration: Copy .env.example to .env in My-Blog-Go/ and configure database credentials and a JWT secret.
  • Running: Start the backend with go run main.go (or air for hot-reloading) in My-Blog-Go/, and the frontend with npm run dev in My-Blog-Vue3/.
  • Links: Online Demo: https://blog.zjh2002.icu, API Documentation: My-Blog-Go/API.md.

Highlighted Details

  • Content Management: Supports article publishing, editing, categorization, tagging, a Markdown editor with code highlighting, and AI-powered article summarization (DeepSeek/OpenAI).
  • Social Features: Includes a comment system with replies, anonymous messaging ("Tree Hole"), a confession wall, and friend link management.
  • Personalization: Offers theme switching (images, gradients, solid colors), an APlayer music player, Live2D character support, and weather information display.
  • System Capabilities: Features JWT authentication with a three-tier permission system, a responsive admin panel, and Docker deployment options.

Maintenance & Community

The project is actively maintained, as indicated by the latest version (v3.0) using Vue 3 and Go. While specific community channels like Discord or Slack are not detailed, the project has garnered stars and forks on GitHub, suggesting community interest.

Licensing & Compatibility

The project is released under the MIT License, permitting free use, modification, and distribution, including for commercial purposes, with attribution.

Limitations & Caveats

The setup requires specific versions of Node.js, Go, and MySQL. AI summarization and weather features necessitate external API keys. Production deployment involves manual server configuration (systemd, Nginx) or Docker setup.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
7 stars in the last 30 days

Explore Similar Projects

Starred by Tobi Lutke Tobi Lutke(Cofounder of Shopify), Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), and
27 more.

open-webui by open-webui

0.9%
131k
Self-hosted AI platform for local LLM deployment
Created 2 years ago
Updated 1 day ago
Feedback? Help us improve.