All Projects → alanqchen → Bear-Blog-Engine

alanqchen / Bear-Blog-Engine

Licence: MIT license
Modern blog engine made with Go and the Next.js framework

Programming Languages

javascript
184084 projects - #8 most used programming language
go
31211 projects - #10 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to Bear-Blog-Engine

next-api-decorators
Collection of decorators to create typed Next.js API routes, with easy request validation and transformation.
Stars: ✭ 187 (+713.04%)
Mutual labels:  backend, vercel
Blogetc
Easily add a full Laravel blog (with built in admin panel and public views) to your laravel project with this simple package.
Stars: ✭ 198 (+760.87%)
Mutual labels:  backend, blog-engine
acblog
An open source extensible static & dynamic blog system. (an alternative tool with same features at StardustDL/paperead)
Stars: ✭ 60 (+160.87%)
Mutual labels:  backend, blog-engine
tnt
A 2d Game Engine written in C++20.
Stars: ✭ 30 (+30.43%)
Mutual labels:  wip
Glass
Gui Library written in Crystal
Stars: ✭ 24 (+4.35%)
Mutual labels:  wip
website
Official dahliaOS website
Stars: ✭ 29 (+26.09%)
Mutual labels:  vercel
sanabil
A platform to organize the work of charity in Algiers City
Stars: ✭ 16 (-30.43%)
Mutual labels:  backend
uniauth-backend
backend service to power uniAuth
Stars: ✭ 16 (-30.43%)
Mutual labels:  backend
Flask-MVC-Template
Flask-MVC Template It is a template with "batteries included" created for the fast development of applications in the microframework flask 🐍
Stars: ✭ 54 (+134.78%)
Mutual labels:  backend
libs-back
The GNUstep gui library is a library of graphical user interface classes written completely in the Objective-C language; the classes are based upon Apple's Cocoa framework (which came from the OpenStep specification). *** Larger patches require copyright assignment to FSF. please file bugs here. ***
Stars: ✭ 41 (+78.26%)
Mutual labels:  backend
mojito-admin-starter
此项目主要为了演示如何自动化 Fullstack project 的 Infrastructure。
Stars: ✭ 17 (-26.09%)
Mutual labels:  vercel
VSCode-Bedrock-Development-Extension
An extension that provides support for files such as: .mcfunction, .json and .lang. Features include: completion, validations, formatters, diagnostics, cheat-sheets, code-actions, generation of files, and development tools to help develop Minecraft Bedrock Addons or Minecraft Education Edition.
Stars: ✭ 45 (+95.65%)
Mutual labels:  wip
personal-website
Personal website – made with Next.js, Preact, MDX, RMWC, & Vercel
Stars: ✭ 16 (-30.43%)
Mutual labels:  vercel
woowacourse-projects
우아한테크코스 3기에서 학습한 내용을 정리하는 저장소
Stars: ✭ 25 (+8.7%)
Mutual labels:  backend
entries.pub
WIP IndieWeb blog engine
Stars: ✭ 13 (-43.48%)
Mutual labels:  blog-engine
thunder
REST API application that manages user databases
Stars: ✭ 22 (-4.35%)
Mutual labels:  backend
nest-auth-example
Nest.js authentication with Passport. Realworld example
Stars: ✭ 186 (+708.7%)
Mutual labels:  backend
FlutterAngel
A Flutter App with Angel backend.
Stars: ✭ 13 (-43.48%)
Mutual labels:  backend
carpoolear backend
The open source Laravel backend for the argentinian carpooling application: Carpoolear
Stars: ✭ 45 (+95.65%)
Mutual labels:  backend
bradgarropy.com
🏠 my home on the web
Stars: ✭ 58 (+152.17%)
Mutual labels:  vercel

Work-In-Progress

Go Report Card Docker Cloud Build Status (API) CI status prettier

Bear Blog Engine / Bear Post

A Modern Blog Engine. Backend server required, not JAMStack.

Example Site

Uses Go (mux) for the backend and React (Next) for the frontend. Databases used are PostgreSQL and Redis (auth & caching).

All you need to use Bear-Post is a server to host the backend API. The frontend CDN and SSL certs can be handled by Vercel with your own domain for free!

Features

  • SEO and performance optimized
  • Backend uses Go for fast performance coupled with Redis for authentication and caching PostgreSQL requests
  • WYSIWYG online markdown-based editor that also supports embeds
    • Same base editor used in Outline
    • Added custom ability to restore unsaved changes in the editor
    • Added custom embeds
    • Added raw markdown edit mode for compatibility with spell-checkers (like Grammarly)
  • Support for multiple admin and editor users
  • Support for hidden/draft posts
  • Progressive Web Application (service-worker, offline cache, etc.)
  • Support for permalinks
  • Uses metadata for rich content in applications (such as Discord links)
  • Keyset pagination to support infinite scrolling
  • Redux to save fetched posts during navigation and thus reduce API requests
  • Login protected with reCaptcha
  • Automatic creation of a webp copy of uploaded feature-images
  • Easy startup with docker-compose and Vercel

For images of the admin dashboard, go to this pull request

Lighthouse stats of index page:

Lighthouse stats of a post page:

Using Bear-Post

Find the start up information in the templates/backend-only directory. It will guide you through starting the API and deploying the frontend to Vercel.

Q: Why not a static blog (Gatsby, Hugo, etc.)?

A: A dynamic, non-JAMStack, blog gives me the opportunity to learn working with databases and React. This is my first large project working with databases, React, Go, Docker, and such much more! So while a static blog has lots of advantages, a dynamic blog gives lots of opportunities to learn more.

What I cannot create, I do not understand - Richard Feynman

Mockups

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].