From 1791f5264843eaf1d8799532af33a76ebf1e2a0f Mon Sep 17 00:00:00 2001 From: Kaitlyn Parkhurst Date: Sun, 4 Sep 2022 19:51:04 -0700 Subject: [PATCH] More design. --- README.md | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b531554..da90105 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,48 @@ # What is MyJekyllBlog? -MyJekyllBlog is a project to provide web hosting infrastructure with a content manager for the Jeykll blogging engine. +MyJekyllBlog is a project to provide a SaaS web interface to Jekyll backed with a CMS and web hosting infrastructure. ## What are the systems? ### Web Panel +The web panel allows users of the service to create and manage their Jeykll blogs. + +The following functionality should exist: + +* Wizard to create a new blog +* Editor panel that lists articles +* Editor panel that lists pages +* Editor panel that allows creating a new article +* Editor panel that allows creating a new page +* Editor panel that allows editing an existing article +* Editor panel that allows editing an existing page +* Manager panel that shows last deployment +* Manager panel that allows deploying the blog +* Manager panel that allows adding a custom domain name to the blog +* Manager panel that shows list of commits and which one is deployed +* Manager panel that allows selecting an alternative commit and deploying it + ### Database Server +The database server holds the database for the `Web Panel` and for the `Build Server`. + ### Gitea Server +The gitea server will have user mapping between the `Web Panel` and Gitea. Users websites will be held as repos here. + ### Build Server +The build server will check out the repo, build the static site and deploy it to whichever `Web Server` it should be deployed to. + ### SSL Server +The SSL server will run certbot. The `/.well-known` directory should be proxied to this server so that HTTP challenges can be used. + ### Web Servers +Web servers will host static content for Jeykll blogs. + ## How does it work? ### Create a new account on MyJekyllBlog