Project initiation

Project initiation: How was the project started, and what foundational steps were taken to establish the environment?

1 - Initial goal:

Build a NextJs headless WordPress CMS theme - Ncmaz blog, news, magazine.

2 - Overall structure

Imagine the overall structure of this topic includes two main parts:

  1. The Nextjs Ncmaz-faust project is essentially a Faustjs project - https://faustjs.org/ So everything in this project follows the guidance of Faustjs. Just carefully read the Faustjs documentation, and you'll fully understand the project's structure

  2. The Ncmaz-faust-core plugin is a WordPress plugin. This plugin will be responsible for building WordPress features to fit the website: for example, creating Ncmaz Gutenberg blocks, building Favorite and Save features, initializing ACF custom fields, creating GraphQL mutations, etc.

3 - Framework selection: Faustjs

Faustjs - A JavaScript framework that makes building headless WordPress simple and easy.

4 - Getting started

Instead of starting with the first lines of code, I chose to build ncmaz-faust based on a starter repo created by the founders of Faustjs. This will help me save time and have a quality starting framework readily available.

👉 Here it is - https://github.com/wpengine/faust-scaffold-ts

My next task is to build components for the Ncmaz-faust project. At the same time, I will develop the Ncmaz-faust-core plugin to implement the necessary features...

Last updated