保罗的小窝

保罗的小窝

即当前网站,采用了 PHP、MariaDB、Redis 等多种技术集合进行开发

  • 项目类型:网站
  • 项目所属:个人
  • 担任角色:创建者
  • 技术栈:PHP、MariaDB、Redis、CSS、JavaScript
  • 创建日期:2018-04-12
  • 维护情况:正常

保罗的小窝是一个集合了「博文、日记、语录、项目、追番、歌单」等多项展示内容的个人主页,使用 PHP + MariaDB + Redis 作为后端实现,原生 CSS + JavaScript(前台)和 React + Less + TypeScript(后台)做为前端实现。

以上截图均为本站历史上的所有设计,你觉得哪个最好看呢?😂

项目特点

  • 自创的前后台 UI 风格

    • 前台风格随着个人情况进行调整,已经切换过多次设计风格
  • 原生 PHP 实现的后端

    • 截止 2023 年初,只使用了 Medoo 这一个数据库 ORM 框架
    • MarkDown 解析器采用了 JoyQi 的项目 HyperDown
  • 第三方平台数据展示

    • Typecho 博客上的文章
    • B 站发布的视频
    • B 站在看的番剧
    • 近期在听的网易云音乐
  • 自创的日记功能

    • 预设天气、心情、音乐、编写状态、发布状态、推荐阅读等字段
    • 天气自动根据预设地区填写
    • 编写时间记录,方便后期快速统计
    • 关联网易云音乐,为访客提供边听边读的体验
    • 独立时间轴页面,按年月份拆分,结合标题清晰易读
  • 相册功能

    • 支持上传 jpg、png、webp 三种常用图片格式
    • 支持上传 mp4 视频格式,并自动生成缩略图(需要预先压缩)
    • 预设标题、介绍、分类等字段
    • 结合后台批量上传,自动读取填充 EXIF 信息,减少繁琐操作
    • 支持一层分类归纳管理
  • 项目记录功能

    • 主要以程序开发的角度设计
    • 预设项目所属、类型、技术栈、维护情况、详情介绍等字段
    • 可自由关联项目截图、封面、图标,以及文档、开源、预览等链接
  • 语录功能

    • 主要用于记录简短句子和摘抄
    • 提供随机展示 API,类似于一言
  • 评论功能

    • 全站各项业务的页面均可用
    • 采用 UUID 作为唯一值,支持嵌套,仅支持展示二层评论
  • 审核功能

    • 目前仅开放在微信小程序端
    • 可供访客一次性授权访问受到博主限制的日记
  • 凭证功能

    • 用于第三方服务调用 WebHooks 接入平台,方便更新业务状态(直播开播等)
  • 微信登录功能

    • 用户系统主要接入在微信上
    • 在小程序平台下可以实现日记审核等独占功能

和其他个人网站有什么不同

据保罗所知,多数的个人网站是以博客系统为基础构建的,大多数内容类型需要构建在博客系统平台支持的范围内二次创作,例如通过插件的方式实现。但这样做存在一定的局限性,想要存储规整的数据库结构,或是快速接入其他平台的数据等等就比较繁琐,且不一定具备良好的性能。

想要快速的学习网站开发相关技术,做一个这样的项目是一个不二之选,还可以因此作为自己平时的知识分享和踩坑记录的平台。

通过项目学到了什么

  • 作为开发者

    • 借助项目更好的上手第一个后端语言 PHP,了解后端基础概念,以及前后端数据交换等等细节
    • 各种业务逻辑的前后端实现,尽管在后端方面确实是增删改查占比较多
    • 优化网站性能的实践,从前端和后端角度的方面
    • 持续思考程序架构设计与实现的落地,以及保持代码可维护性和可读性的平衡
  • 作为设计师

    • 网站布局和风格长期迭代更新,都需要一定的审美水平
    • 网站内容需要持续维护,像是背包里面的设备插图均为本人制作
  • 作为产品经理

    • 持续思考如何让自己的网站交互更简单易用
    • 整理自己的需求,转换为实际的技术实现
截图截图截图截图截图截图截图
奇趣音乐盒技术源于 Kico Player
Emmm,这里是歌词君