Skip to content

kalacs/wp-project-generator-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wordpress Automation

What?

This project purpose is to reduce boostraping process of a new wordpress instance. It allows to create,manage wordpress instances in a simple way.

Why?

Create a new wordpress is a time consuming and boring process. It has to be a better way which automates all of repetitive tasks.

How?

Use various technologies in order to achieve mentioned above. Run wordpresses in Docker (https://www.docker.com/) environment is more secure then just put into some apache server. Further, containerization technology makes deployment more easier too. Rest API is simplifying to manage wordpresses and hide all the technical details from developer. In addition, it makes able to attach any front-end application to it. At the time of writing there is only one front-end which is a terminal application.

Features

These have been done:

  • Fully installed wordpress with themes and plugins less than one minute
  • More secure environment because of containerization technology
  • Flexible API, you can attach any frontend

There is a lots of room for improvement:

  • Managing plugins and themes on running wordpress instance
  • Web or desktop GIU
  • Implement deployment process through FTP or even AWS
  • Real-time metrics from instances
  • Backup and restore
  • ... and more

Technical details

This section required some technical backround. The project has two main parts:

  • Backend
  • Frontend

Backend

It responsible for wordpress project creation, docker service orchestration and provide nice API for managing all of this. It can be installed any linux server which has docker and nodejs.

Requirements:

  • nodejs 11
  • docker engine
  • docker-compose

Used technologies:

Frontend

Frontend communicates backend via rest API. There is one frontend for now which is an terminal application and written in React. Supports MacOS and linux.

Reguirements:

  • nodejs 11

Used technologies:

Create a Wordpress instance step by step

It will be shown how project kickstart works.

1. Create project structure

Run this command: wp-manager-cli project kickstart:

Docker service parameters

Now, project folders has been generated (on machine what runs backend)

Wordpress project folders

2. Create docker services

This step will be done automatically.

Docker services up and running

Docker services up and running:

Docker services up and running

Or get statuses with frontend:

Get service statuses

Wordpress has been created:

Install Wordpress

3. Install Wordpress

The next step in terminal application will install the instance without any clicks on the web browser.

Install has finished

Wordpress has installed:

Site screen

Admin page (with default plugins and themes):

Admin page

4. Install plugins and themes

Final step is installing desired plugins and themes. It is possible to organize plugins and themes to packages e.g. E-commerce, Blog1, Blog1 ... etc. You can choose from this during kickstarting the Wordpress project.

Choose from pre-defined packages:

Packages

You can select multiple plugins from previously choosed package to install:

Plugins

You can select one theme to be applied:

Theme

Whole installation process has been done:

Finish

Resulted Wordpress site with the selected theme:

WP frontend

Admin page with installed plugins:

WP admin

About

Wordpress project generation through REST api.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •