Personal Site CMS is a Payload CMS part of my personal site.
Other part of the project can be found here
The project was created with Payload 2.0 and currently deprecated. Payload 3.0 version which combine CMS and website parts can be found here. (Probably private repo).
This project uses Payload CMS to manage content for a personal website. It includes various plugins and features for enhanced functionality.
- Node.js
- Yarn (version 4.4.0 or later)
- MongoDB
- Clone the repository:
git clone <repository-url> - Install dependencies:
yarn install - Set up your environment variables by creating a
.envfile in the root directory. Include necessary variables such as database connection strings and any API keys.
yarn dev: Start the development serveryarn build: Build the project for productionyarn serve: Serve the production buildyarn generate:types: Generate TypeScript typesyarn generate:graphQLSchema: Generate GraphQL schemayarn lint: Run ESLintyarn lint:fix: Run ESLint and fix issuesyarn format: Format code using Prettier
To start the development server:
yarn dev
This will start the server using nodemon for auto-reloading.
To build the project for production:
yarn build
This command will:
- Copy necessary files
- Build Payload
- Build the server
To serve the production build:
yarn serve
- Run
yarn lintto check for linting issues - Run
yarn lint:fixto automatically fix linting issues - Run
yarn formatto format code using Prettier
This project uses Husky for Git hooks. The pre-commit hook runs lint-staged to ensure all staged files are formatted before committing.
Key dependencies include:
- Payload CMS
- Express
- MongoDB
- Various Payload plugins (Cloud, Nested Docs, Redirects, SEO)
- Webpack for bundling
- TypeScript
For a full list of dependencies, please refer to the package.json file.