Giter Club home page Giter Club logo

upupor's Introduction

Upupor 项目访问次数

让每个人享受分享

Upupor - UGC Website,Open source | Product Hunt

网站

https://www.upupor.com

Upupor开发进度

出于自己对技术的纯粹和要求,在upupor项目的开发过程中,会遵循以下准则:

  1. 充分使用Java基本特性: 封装、继承、多态
  2. 对类似的业务逻辑进行抽象,提取出公用的逻辑,朝着易扩展、易维护的方向前进
  3. 定期会Code Review,因为自己的技术能力和思维能力在不断地提升,所以会定期的Review代码,会将自己的知识进行沉淀和落地
  4. 减少外部依赖。除了最基本的依赖之外,会尽可能减少外部依赖的引入。例如,upupor的全局检索,是基于lucene实现的,而不是引入ES来实现
  5. 算法的引入,会将学到的算法应用其中。例如,雪花算法,upupor的资源id生成有雪花算法的参与

开发进度面板

部署文档

运维文档

markdown编辑器

markdown编辑器fork了腾讯的cherry-markdown进行了微改动以适配upupor网站业务及风格

地址: https://github.com/upupor/cherry-markdown

QA

0. 数据库建表语句在哪里?

upupor使用了flyway,因此数据库SQL文件维护在upupor-web/src/main/resources/db/migration目录,只需要配置好DB然后启动程序,就会创建相应的表以及执行相应的SQL. 后续如果想新增表或者执行SQL可以直接在migration目录按照规则新建migration文件即可,程序启动时会自动执行.

1.为什么采用 thymeleaf 建站?

upupor用 thymeleaf 的原因是为了做SEO,目前所有页面均采用服务端渲染。在做upupor网站的初期(2019年)前端框架SSR还不成熟,所以没有采用前端SSR. 现在前端SSR方案成熟了很多,现在如果做SEO的话,可以采用前端SSR.

2.计划使用前端SSR方案重构upupor吗?

目前没有计划,我们永远不要为了"技术而技术"! 一个项目是否够好要看是否满足需求。 当然成本也在考虑的范围内,有多少资源做多少事情。一个人开发的时候才用最小技术栈永远是最优的选择。所以从这一点来说,upupor适合单人作战.

用最低的成本拿到相等的收益

3.Upupor接入了哪些三方服务?

  1. Google分析 https://marketingplatform.google.com/about/analytics/?hl=zh-CN
  2. Google广告 https://www.google.com/intl/zh-CN_cn/adsense/start/

4.程序启动时图片不显示怎么处理?

因为有防盗链,只允许localhost、*.upupor.com两个域访问。解决方法:

  • 本机环境使用http://localhost:2020访问
  • 将系统默认的图片地址修改为您本地的图片地址或者您可访问的远程图片地址

5.upupor页面加载性能如何?

下面是Google PageSpeed Insights桌面版的测试结果 PageSpeed Insights性能测试

Google Search 页面体验报告

image

联系方式

微信

Stargazers over time

Stargazers over time

upupor's People

Contributors

yangrunkang avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.