This is a core of website with content management system. ### Getting Started 1. Clone this repo. ```bash git clone https://github.com/freshgalangmandiri/web-cms-fullstack ``` 2. Install dependencies ``` cd web-cms-fullstack npm install ``` 3. Run Project ``` npm run dev ``` ### Project Structure In general, this is the folder structure of the project. ``` src └── app │ ├── (Admin) │ │ ├── dashboard │ │ │ ├── [...slug] │ │ │ ├── categories/ ... │ │ │ ├── gallery / ... │ │ │ ├── posts / ... │ │ │ ├── tags / ... │ │ │ ├── users / ... │ │ │ ├── users-login / ... │ │ │ ├── dashboard.module.css │ │ │ ├── layout.js │ │ │ ├── not-found.js │ │ │ └── page.js │ │ ├── login / ... │ │ ├── unauthorize / ... │ ├── (Web) │ │ └── post / ... │ ├── api / ... │ ├── forbidden / ... │ ├── library / .... │ ├── favicon.ico │ ├── global-error.js │ ├── globals.css │ ├── layout.js │ ├── manifest.js │ ├── page.js │ ├── page.module.css │ ├── robots.js │ ├── sitemap.js ├── components │ ├── administrator / ... │ ├── editor / ... │ ├── google / ... │ ├── ui / ... │ └── web / ... ├── config / ... ├── data / ... ├── hooks / ... ├── middlewares / ... ├── models / ... ├── providers / ... ├── utils │ ├── clients.js │ ├── db.config.js │ └── middlewarewrap.js ├── server.js ├── .env ├── .gitignore └── ... ``` ### Collaboration workflow rules #### Standard Types (prefixes): - `feature/` → for new features - `fix/` → for bug fixes - `hotfix/` → for urgent production fixes - `chore/` → for maintenance (deps, configs, CI/CD, etc.) - `docs/` → for documentation #### Follow the Conventional Commits style Types: - `feat` → new feature - `fix` → bug fix - `docs` → documentation only - `style` → code style (formatting, no logic change) - `refactor` → code restructuring without behavior change - `test` → adding or fixing tests - `chore` → build process, tooling, configs > Examples: > > 1. `feat(auth): add JWT-based login` > 2. `fix(api): handle null values in user response` > 3. `docs(readme): update setup instructions` > 4. `refactor(db): optimize query for invoices` > 5. `chore(ci): add lint step to GitHub Actions`