# MediSync
市场团队用于管理多平台媒体发布系统。
## Backend
```bash
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
uvicorn app.main:app --reload
```
## Local Development
```bash
cp .env.example .env
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
uvicorn app.main:app --reload
```
开发环境默认使用 SQLite 文件库:`backend/medisync_dev.db`。启动后,后端会自动创建 MVP 所需的数据表。后续进入正式环境时,应替换为 Alembic 迁移流程。
首次启动后,创建或更新第一个管理员账号:
```bash
cd backend
source .venv/bin/activate
python -m app.cli.create_user --username admin --password '替换成后台登录强密码'
```
运营人员账号保存在数据库中,后续可在系统内的「账号管理」页面新增、编辑用户名、停用或重置密码。
Start the publish worker in another terminal:
```bash
redis-server
```
Then start Celery in another terminal:
```bash
cd backend
source .venv/bin/activate
celery -A app.workers.celery_app.celery_app worker --loglevel=info
```
Start the frontend in another terminal:
```bash
cd frontend
npm install
npm run dev
```
## Test
```bash
cd backend
pytest -v
cd ../frontend
npm test
npm run build
```
## Production Database
线上环境建议使用 MySQL,并通过环境变量覆盖开发默认 SQLite:
```dotenv
DATABASE_URL=mysql+pymysql://medisync:strong-password@mysql-host:3306/medisync
```