音乐商店后台
技术栈
- 基于 .NET Core 平台
- 数据库使用 MySQL
- 数据访问层使用 ADO.NET 和 Dapper ORM框架
- 发布 RESTful 风格的 Web 接口
用户角色
功能模块
- 通用模块
- 前台模块 for 普通用户
- 注册(暂未实现)
- 用户个人信息管理
- 歌曲搜索
- 在线听歌 歌曲下载(暂未实现)
- 歌曲 歌单管理
- 歌曲购物车(暂时不要)
- 评论社交(暂未实现)
- 后台模块 for 管理员
项目结构
- Document: 项目文档.
- MsinWebApi.Api: Web Api 层, 负责处理 HTTP 请求. 采用 RESTful 风格.
- appsettings.json 配置文件
- Program.cs Main 方法
- Startup.cs 启动类, 在此进行一些服务的配置和启动
- Controller Api 接口控制器.
- MsinWebApi.Service: 业务逻辑层, 核心业务代码.
- Model 是业务中所涉及的扁平的数据对象.
- Impl 业务逻辑的实现类.
- MsinWebApi.Dapper: 数据访问层, 主要针对 MySQL 数据库.
- Entity 是可以被持久化的实体类, 与数据表一一对应.
- Attribute 用于修饰 Entity 的字段.
- [Transient] 瞬态, 表示该字段不需要持久化.
- [Identity] 唯一标识符, 在删除和修改时使用改字段作为唯一标识符, 插入时有数据库自动生成唯一标识.
- [Default] 默认的, 表示该字段在数据库中具有默认值, 插入或修改无需指定值.
- Impl: Dapper 数据访问器的实现类.
- BaseEntity 中有三个基于反射实现的方法, 适用于任何实体类. Insert, Update, Delete.
- MsinWebApi.Util: 公用工具类库
- MsinWebApi.Test: 单元测试项目
项目架构图
图片管理模块
后台系统的所有图片都交由远程的图片管理模块来处理, 在数据库中存储图片的 URL 地址。