Go 语言:Jank 简客博客系统

Jank 简客博客系统

什么?最近我开源了一个项目?

Jank 是一个轻量级的博客系统,基于 Go 语言和 Echo 框架开发,设计理念强调极简、高效和高扩展性,旨在为用户提供功能丰富、界面简洁、操作简单且安全可靠的博客体验。

Github 仓库地址:https://github.com/Done-0/Jank
Gitcode 仓库地址:https://gitcode.com/2402_83735444/Jank/overview
欢迎加入社区(供学习和开发):https://qm.qq.com/q/P3CSH8wF22

技术栈
  • Go 语言:热门后端开发语言,适合构建高并发应用。
  • Echo 框架:高性能的 Web 框架,支持快速开发和灵活的路由管理。
  • MySQL:成熟的关系型数据库管理系统,支持复杂查询和事务处理。
  • Redis:热门缓存解决方案,提供快速数据存取和持久化选项。
  • JWT:安全的用户身份验证机制,确保数据传输的完整性和安全性。
  • Docker:容器化部署工具,简化应用的打包和分发流程。
  • 前端:Vue 3 + Nuxt + Shadcn-vue(暂时搁置)。
功能模块
  • 账户模块:实现 JWT 身份验证,支持用户登录、注册、注销、密码修改和个人信息更新。
  • 文章模块:提供文章的创建、查看、更新和删除功能。
  • 分类模块:支持类目树及子类目树递归查询,单一类目查询,以及类目的创建、更新和删除。
  • 其他功能
    • 提供 OpenAPI 接口文档
    • 集成 Air 实现热重载
    • 使用 Logrus 实现日志记录
    • 支持 CORS 跨域请求
    • 提供 CSRF 和 XSS 防护
    • 支持 Markdown 的服务端渲染

其他模块正在开发中,欢迎提供宝贵意见和建议!

本地开发
  1. 安装依赖

    go mod tidy
    
  2. 配置数据库和邮箱
    修改 configs/config.yaml 文件中的数据库配置和邮箱配置,示例如下:

    DB_PSW: "<DATABASE_PASSWORD>"# QQ 邮箱和 SMTP 授权码(可选)
    QQ_SMTP: "<QQ_SMTP>"
    FROM_EMAIL: "<FROM_QQ_EMAIL>"
    
  3. 启动服务
    使用以下命令启动应用:

    go run main.go
    

    或使用 Air 进行热重载:

    air -c ./configs/.air.toml
    
  4. 访问接口
    打开浏览器,访问 http://localhost:9010/ping

Docker 容器部署
docker-compose up -d
联系方式
  • QQ 群:828270460
  • 作者 QQ:927171598
许可证

本项目采用 MIT 开源许可证。

代码统计
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Go                              65            521            458           3857
JSON                             1              0              0           1456
YAML                             3              8              6            986
Markdown                        27             32              0             98
TOML                             1              6              0             36
-------------------------------------------------------------------------------
TOTAL                           97            567            464           6433
-------------------------------------------------------------------------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/66316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leecode1143.最长公共子序列

这道题目和最长重复子数组是一个类型的不同之处在于text1[i]!text2[j]时dp[i][j]时他的值是继承上一行或上一列的最大值&#xff0c;二者dp数组的含义也不一样&#xff0c;这里的dp[i][j]表示的是以text[i]和text2[j]为结尾的子序列最大长度&#xff0c;这也是导致两种问题当判…

通过 4 种方式快速将音乐从 iPod 传输到 Android

概括 在 iPod 上听音乐很酷&#xff0c;但是当您拥有最新的 Android 手机时&#xff0c;也许您想在新手机上欣赏 iPod 音乐。那么&#xff0c;你的计划是什么&#xff1f;如何将音乐从 iPod 传输到 Android&#xff1f; 如果您担心这个问题&#xff0c;请看看下面的方法。他们…

flutter在windows平台中运行报错

PS D:\F\luichun> flutter run当运行flutter项目时&#xff0c;【解决如下报错】 /C:/flutter/packages/flutter/lib/src/painting/star_border.dart:530:27: Error: The getter Matrix4 isnt defined for the class _StarGenerator.- _StarGenerator is from package:flut…

[python3]Excel解析库-xlrd

xlrd 是一个用于从 Excel 文件中读取数据的 Python 库&#xff0c;主要用于处理 .xls 文件&#xff08;即 Excel 97-2003 格式&#xff09;。它允许你用 Python 编写程序来解析和提取 Excel 文件中的信息&#xff0c;而无需实际运行 Microsoft Excel 应用程序。需要注意的是&am…

Docker Compose编排

什么是 Docker Compose? Docker Compose 是 Docker 官方推出的开源项目&#xff0c;用于快速编排和管理多个 Docker 容器的应用程序。它允许用户通过一个 YAML 格式的配置文件 docker-compose.yml 来定义和运行多个相关联的应用容器&#xff0c;从而实现对容器的统一管理和编…

你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗?

你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗&#xff1f; 一. JVM、JDK与JRE的关系二. JVM、JDK与JRE的作用2.1 什么是JVM&#xff1f;2.2 什么是JDK&#xff1f;2.3 什么是JRE&#xff1f; 前言 点个免费的赞和关注&#xff0c;有错误的地方请指出&#xff0c;看个人主页有…

上下游服务间解耦的技术与管理

一、解耦为何至关重要 在当今软件研发的复杂生态中&#xff0c;耦合问题如影随形&#xff0c;困扰着众多开发者与企业。当多个模块、系统或团队紧密交织&#xff0c;相互依赖程度不断攀升&#xff0c;仿佛一张错综复杂的网&#xff0c;牵一发而动全身。就拿电商系统来说&#…

RP2K:一个面向细粒度图像的大规模零售商品数据集

这是一种用于细粒度图像分类的新的大规模零售产品数据集。与以往专注于相对较少产品的数据集不同&#xff0c;我们收集了2000多种不同零售产品的35万张图像&#xff0c;这些图像直接在真实的零售商店的货架上拍摄。我们的数据集旨在推进零售对象识别的研究&#xff0c;该研究具…

【踩坑指南:2025年最新】如何在Linux(Ubuntu)启动第一个Scala Hello World程序(Scala3)

如何正确地写出Scala的第一个程序&#xff0c;并且利用Scala3的简洁特性&#xff1f; 在解释器中直接输出Hello world非常简单&#xff0c;只需要直接执行即可&#xff1a; scala> println("Hello World") Hello World 但如果我们希望编写一个脚本文件&#xf…

Spark大数据处理引擎详解

一、概念 Spark是一种快速、通用、可扩展的大数据分析引擎&#xff0c;它基于内存计算的大数据并行计算框架&#xff0c;能够显著提高大数据环境下数据处理的实时性&#xff0c;同时保证高容错性和高可伸缩性。Spark于2009年诞生于加州大学伯克利分校AMPLab&#xff0c;2010年…

服务器数据恢复—离线盘数超过热备盘数导致raidz阵列崩溃的数据恢复

服务器数据恢复环境&故障&#xff1a; 一台配有32块硬盘的服务器在运行过程中突然崩溃不可用。经过初步检测&#xff0c;基本上确定服务器硬件不存在物理故障。管理员重启服务器后问题依旧。需要恢复该服务器中的数据。 服务器数据恢复环境&#xff1a; 1、将服务器中硬盘…

JVM之Java内存模型

Java内存模型&#xff08;Java Memory Model&#xff0c;简称JMM&#xff09;是Java虚拟机&#xff08;JVM&#xff09;规范中定义的一套规则&#xff0c;用于描述多线程环境下变量如何被访问和同步。在多线程编程中&#xff0c;内存模型的重要性不言而喻&#xff0c;它直接关系…

用 HTML5 Canvas 和 JavaScript 实现炫酷跨年烟花特效

一、引言 跨年夜,五彩斑斓、绚丽绽放的烟花是最令人期待的视觉盛宴之一。在网页端,我们能否通过技术手段复现这一梦幻场景呢?答案是肯定的。本文将深入剖析一段使用 HTML5 Canvas 和 JavaScript 实现的跨年烟花特效源码,带你领略前端技术创造的惊艳画面。 用 HTML5 Canvas…

安装教程:慧集通集成平台(DataLinkX)智能体客户端安装操作(Linux/windows/mac)

1.下载客户端 使用提供的账号登录集成平台后台(https://www.datalinkx.cn/),点击左侧菜单栏【智能体】→【智能体】进入到智能体列表界面&#xff0c;在该界面我们找到功能栏中的下载按钮点击则会弹出下载界面&#xff0c;在该界面我们可以选择不同的系统操作系统来下载对应版…

067B-基于R语言平台Biomod2模型的物种分布建模与数据可视化-高阶课程【2025】

课程培训包含&#xff1a;发票全套软件脚本学习数据视频文件导师答疑 本教程旨在通过系统的培训学习&#xff0c;学员可以掌握Biomod2模型最新版本的使用方法&#xff0c;最新版包含12个模型&#xff08;ANN, CTA, FDA, GAM, GBM, GLM, MARS, MAXENT, MAXNET, RF, SRE, XGBOOST…

【Spring】Spring DI(依赖注入)详解—集合类型的注入——List、Set、Map的配置与注入

一、引言 Spring依赖注入不仅能简化对象的创建和管理&#xff0c;还能使得代码更加灵活和可维护。尤其是在处理集合类型的依赖时&#xff0c;Spring的DI机制提供了更为灵活的方式来管理和注入多个依赖。 1.1 依赖注入的重要性 在大型应用中&#xff0c;类与类之间的关系往往…

贵州省贵安新区地图+全域数据arcgis格式shp数据矢量路网地名+卫星影像底图下载后内容测评

贵州省贵安新区地图全域数据arcgis格式shp数据矢量路网地名卫星影像底图 贵安新区地图是一款基于ArcGIS格式的地理信息系统数据集&#xff0c;包含2022年3月更新的详尽矢量路网、地名信息以及卫星影像底图。这款数据集是针对贵安新区这一特定区域设计的&#xff0c;对于规划、…

30分钟学会css

CSS 基本语法 CSS&#xff08;Cascading Style Sheets&#xff09;是一种样式表语言&#xff0c;用于描述 HTML&#xff08;或 XML&#xff09;文档的呈现。它可以控制网页元素的颜色、字体、布局等外观样式&#xff0c;实现内容与表现的分离&#xff0c;让网页设计更加灵活和…

pycharm完成git项目的拉取及修改,并保存为自己的项目,以cosyvoice为例

1.新建一个项目&#xff0c;如图 等待几分钟。因为还要虚拟环境的建立等。 2.克隆项目源码及提前准备&#xff08;备&#xff09; a.git的路径。 b.githube相关设置 左角。查看。 在对话框中&#xff0c;填写要摘取的仓库&#xff0c;提示非空目录。我给加了一个main 完成后&a…

Appium(一)--- 环境搭建

一、Android自动化环境搭建 1、JDK 必须1.8及以上(1) 安装&#xff1a;默认安装(2) 环境变量配置新建JAVA_HOME:安装路径新建CLASSPath%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar在path中增加&#xff1a;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin&#xff1b;(3) 验证…