# Project initiation

#### 1 - Initial goal:&#x20;

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. &#x20;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<br>
2. &#x20;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](https://faustjs.org/)

[Faustjs](https://faustjs.org/) - 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...
