Overview:
This is a Vue3 + TypeScript + Node open-source full-stack project for creating personal blogs, leveraging Vue3, Typescript, and NodeJS Express. It aims to assist frontend developers who are not very familiar with backend development or full-stack concepts. The project is structured using a pnpm monorepo architecture for better engineering capabilities and development experience.
Features:
- Pnpm Monorepo Architecture: Develop full-stack projects with a single repository for an optimized experience.
- Changeset Integration: Utilize the advanced monorepo version management tool.
- Vite Support: Stay updated with the latest Vue ecosystem trends.
- Code Quality Tools: Includes Prettier, ESLint, and Stylelint for ensuring code quality and style.
- Commitizen and Commitlint: Interactive git commits and commit message standardization.
- Husky + lint-staged: Ensures code quality checks before committing changes.
- Docker Compose Support: Full support for development and production environments for a consistent development experience.
- Github Actions Integration: Automation for building and deploying processes.
Installation:
- Clone the project repository:
git clone <repository_url> - Navigate to the project directory:
cd project_folder - Install project dependencies using pnpm (recommended for containerized deployment):
pnpm install - For non-containerized deployment, refer to legacy-ops.md for running the project without containers.
Summary:
The fullstack-blog project is a Vue3 + TypeScript + Node open-source full-stack project designed to help frontend developers venture into backend and full-stack development. With features like monorepo architecture, code quality tools, Docker support, and automation with Github Actions, this project aims to provide a comprehensive and efficient development experience. It also includes features like pagination, article details, hot articles, categories, tags, comments, and more to create a complete blogging platform. If you find the project beneficial, consider showing support by starring it on Github and providing feedback through the issue tracking system.