后端框架:熟练掌握 FastAPI,能够利用其异步特性、依赖注入、Pydantic 模型校验快速构建高性能 RESTful API。了解 WebSocket 实时通信。
数据库技术:熟练使用 SQLAlchemy ORM(同步及异步),掌握表关系设计、复杂查询优化。熟悉 MySQL、PostgreSQL 数据库,具备 SQL 调优能力。
接口与安全:熟悉 OAuth2、JWT 用户认证,掌握微信小程序登录流程(jscode2session)。了解 HTTPS、CORS、XSS/CSRF 防护。
文件处理:实现多格式文件上传(图片、PDF),使用 UUID 生成唯一文件名,集成 Base64 编码图片存储。
异步编程:熟练使用 async/await,配合 httpx.AsyncClient 调用外部 API,使用 aiomysql 异步驱动提升并发能力。
版本控制与部署:熟练使用 Git 进行分支管理,了解 Docker 容器化部署,可配置 Nginx 反向代理与静态资源服务。
前端基础:了解微信小程序开发(WXML、WXSS、JS),能够与后端联调完成登录、数据展示、图片上传等功能。
开发工具:PyCharm / VS Code、Postman、Apifox、Swagger 自动生成 API 文档。
项目名称:校园旧书交易平台(微信小程序 + FastAPI 后端)
项目描述:
为解决高校教材浪费、学生购书成本高的问题,开发了校园旧书交易小程序。用户通过微信授权登录,可浏览、发布旧书信息,上传多张实物照片,按价格或专业筛选书籍。卖家可管理自己发布的商品,买家可查看联系方式(虚拟号)。
技术栈:
前端使用微信小程序原生框架,后端基于 FastAPI + SQLAlchemy Async + MySQL,图片存储采用本地静态目录映射,接口认证通过 openid 识别用户,无感登录。
核心职责:
设计数据库表(用户表、旧书表),字段包含 openid、头像、书籍标题、图片 URL 列表等,使用 JSON 类型存储多张图片路径。
实现异步 REST API:
POST /wx/login:调用微信 code2Session 获取 openid,判断新老用户并返回 token。
POST /register:接收用户昵称、性别、年级、专业及头像文件,校验 openid 唯一性,保存图片至 uploads/avatars/,生成访问 URL。
POST /api/books:接收 openid、书籍标题、描述、价格、多张图片,将图片存入 uploads/books/,记录相对路径到数据库。
GET /api/books:支持分页和按专业筛选。
解决图片上传的 422 错误:将 Pydantic 模型改为 Form + File 分离,确保前端 multipart/form-data 请求被正确解析。
使用 StaticFiles 挂载静态目录,使图片可通过 /static/... 直接访问,并优化了头像和书籍图片的命名规则(UUID 防重名)。
编写单元测试,使用 pytest-asyncio 模拟数据库会话,确保接口健壮性。
项目成果:
接口平均响应时间 < 100ms,支持 50+ 并发用户。
小程序已通过微信审核并上线校园内测,累计注册用户 200+,发布旧书 300 余册
针对高校教材浪费、学生购书成本高的痛点,主导校园二手书交易项目的核心后端开发与技术流程设计,已完成全量核心业务接口与后端服务,可稳定支撑前端业务,项目正在进行功能迭代与细节优化。 【我负责的核心工作】 后端架构与接口开发:基于 FastAPI 框架搭建完整后端服务,独立完成用
基于 Python 开发的携程酒店房型数据爬取工具,针对携程平台公开可访问的酒店房型信息进行批量采集,实现全流程自动化数据获取与处理。 【核心功能与技术】 数据采集:可批量爬取指定城市 / 区域内酒店的房型名称、价格、库存、设施、退改政策等全量房型数据,支持多页自动翻页;