https://github.com/ileostar/postercraft
Nestjs+Nextjs 全栈低代码海报编辑器🎊
https://github.com/ileostar/postercraft
cypress docker docker-compose drizzle-orm github-actions mysql nestjs nextjs oauth2 oss pnpm-monorepo postcss react19 redis sentry shadcn-ui tailwind turborepo vercel vitest
Last synced: 4 months ago
JSON representation
Nestjs+Nextjs 全栈低代码海报编辑器🎊
- Host: GitHub
- URL: https://github.com/ileostar/postercraft
- Owner: ileostar
- License: mit
- Created: 2024-06-11T08:27:59.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-01-29T01:30:45.000Z (4 months ago)
- Last Synced: 2025-01-29T02:27:21.250Z (4 months ago)
- Topics: cypress, docker, docker-compose, drizzle-orm, github-actions, mysql, nestjs, nextjs, oauth2, oss, pnpm-monorepo, postcss, react19, redis, sentry, shadcn-ui, tailwind, turborepo, vercel, vitest
- Language: TypeScript
- Homepage: https://poster-craft.leostar.top
- Size: 6.9 MB
- Stars: 9
- Watchers: 3
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# PosterCraft
## 🎈 项目介绍
本项目是一个海报编辑器,它融合了多种先进技术,为用户提供了强大而便捷的海报编辑体验。
## 🎯 技术栈
| 分类 | 工具 |
| :------: | :-----------------------------------------------------------------------------------------: |
| 前端 | react19、next.js、shadcn/ui、TailwindCSS、postcss |
| 工程化 | eslint、commitlint、monorepo、cypress、vitest、jest、lint-staged、markdown、stylelint |
| 第三方库 | hotkeyjs(快捷键)、html2canvas(截图)、cropper.js(图片裁剪) |
| 后端 | nest.js、drizzle-orm、redis、mysql、rbac(权限控制)、oss(云文件上传)、sharp(图片处理) |
| 管理系统 | unstorage、ofetch/zod、veevalidate |
| 性能优化 | gzip 压缩、http 缓存、http2、图片转 webp |
| CICD | docker-compose 部署、github-action、vercel、lighthouse、sonarcloud、renovate、codecov、gulp |
| 云服务 | 阿里云 OSS、阿里云 SMS、google、github Oauth2 |## 🚀 运行
### 1. 安装依赖
`clone` 仓库后进行 `pnpm i` 安装项目依赖(这里要保证你的node版本在20以上)
### 2. 环境配置
首先复制 `./apps/server/.env.example` 改成 `.env` 并更改里面配置,
👉[点此查看配置更改教程](./apps//server/README.md#环境变量配置)
配置完成后在根目录运行 `pnpm db:init` 初始化数据库表,按照提示选择 `yes` 即可
### 3. 运行服务
#### Server 端
```bash
pnpm dev:server
```启动后访问 `localhost:3001` 即可
Swagger地址:`localhost:3001/swagger`
#### Web 端
```bash
pnpm dev:web
```启动后访问 `localhost:3000` 即可
## 💖 贡献
欢迎各位大佬提 `PR/ISSUE` 贡献,提`PR`前可以阅读[贡献指南](./CONTRIBUTING.md)