分享业余时间开发的一个影视采集及管理系统
2014-05-13 18:09
429 查看
极大的可能会在最近离职加入一家极具挑战的公司,时间和精力都会有一个比较大的调整。做这个系统也是出于娱乐的目的,但目的绝对是单纯的。
因为最初规划的时间关系,一切从简从快,主要功能特性如下:
1,前端页面开发直接就bootstrap 3.0 。后台管理页面也用到了基于bootstrap的一套UI框架。(基本上都是Copy的)
2,数据抓取用的是HtmlAgiltyPack组件。
3,IOC方面尝试了一下Castle。结合 CommonServiceLocator 开源组件。
4,数据存储可以在MongoDb和SqlServer中进行简单的切换(AppSettings.config的StoreProvider配置节)。SqlServer的数据提供用到了EntityFramework的Code First。MongoDb的C#驱动为官方驱动包,自己简单的封装了一个Helper。
5,日志记录用到了Log4Net。
6,评论系统直接就嵌入了多说,感觉还不错。就是找了半天,似乎没有发现远程获取数据接口。
7,其它的没什么可说的。
本来是打算在月底之前搞定,现在看来是搞不定了。只有在真正做的过程中才发现需要解决的东西太多。好吧,也从侧面反映出自己的水平还是相当菜。大概总结了一下,需要完善的地方有以下几点(主要是后台管理):
1,用户权限控制(超级管理员和普通管理员)。
2,数据采集管理(类似增量采集,定时采集,采集配置等)。
3,后台管理页面导航菜单的控制(主要是判断左侧菜单项的active,面包屑导航生成等)。
4,影视的图片信息都直接调用的Http图片,未做本地存储(下载图片容易,恐怕需要单独的图片服务器)。
5,采集提供程序用到了多线程,可我基本不懂多线程。偶尔似乎会出问题的样子...
6,站点配置管理。这个就是一个页面,序列化与反序列化的问题。但就是没有实现 。
7,站点统计相当不完善。比如日志记录、访问者统计等。
希望以后还能找到时间和精力继续搞定这个东东...
没事截了几张图,贴上来看一看。
项目结构示意:
首页(采集了三类:电影,动漫,电视剧。出于测试目的,仅采集了50条):
这是详细页:
这个是详细页的评论框。字幕信息请求的是射手网的接口:
这是后台管理页面:
登录:
锁定:
影视管理列表页面:
影视管理详细信息编辑页面:
这是管理员管理页面(仅超级管理员可见,但目前没有做这个控制):
管理员详细信息页面(可锁定管理员):
还简单的做了一个访问者统计(统计这一块缺的东西相当多):
仅供新手学习。项目托管地址为:http://git.oschina.net/mcmurphy/Movi
补充:
项目的数据存储是可以在mongodb和Sqlserver中进行切换的。其中,mongodb的数据库连接字符串为:
<!--Mongodb-->
<add name="MoviMongoConnection" connectionString="mongodb://kangming:yqhkangming@127.0.0.1:27627/movi" />
我在开发的时候,配置了mongodb的权限,加了用户名和密码。出于安全性方面的考虑,将默认端口27017修改成了27627。这些配置因个人需求而异。另外,简单写了一个启动mongodb数据库的脚本,位置为 Movi.RazorWeb/App_Data 下的 mongodb_data.txt。当然,也可以直接添加为windows服务随系统启动。脚本内容为:
将上述脚本存储为bat格式,每次需要运行mongodb数据库的时候,点击即可。(当然,你得配置mongodb数据库匹配上述脚本内容)。关于mongodb配置方面的更多信息,可以参考 源代码项目 Movi.MongoRepository 下的 db.txt 文档。
对于EntityFramework,code first 的开发方式,除了配置正确的数据库连接字符串(这个没什么可说的),另外需要根据实际情况,结合 nuget 执行数据库初始或变更命令。经常用到的命令就下面三个:
因为最初规划的时间关系,一切从简从快,主要功能特性如下:
1,前端页面开发直接就bootstrap 3.0 。后台管理页面也用到了基于bootstrap的一套UI框架。(基本上都是Copy的)
2,数据抓取用的是HtmlAgiltyPack组件。
3,IOC方面尝试了一下Castle。结合 CommonServiceLocator 开源组件。
4,数据存储可以在MongoDb和SqlServer中进行简单的切换(AppSettings.config的StoreProvider配置节)。SqlServer的数据提供用到了EntityFramework的Code First。MongoDb的C#驱动为官方驱动包,自己简单的封装了一个Helper。
5,日志记录用到了Log4Net。
6,评论系统直接就嵌入了多说,感觉还不错。就是找了半天,似乎没有发现远程获取数据接口。
7,其它的没什么可说的。
本来是打算在月底之前搞定,现在看来是搞不定了。只有在真正做的过程中才发现需要解决的东西太多。好吧,也从侧面反映出自己的水平还是相当菜。大概总结了一下,需要完善的地方有以下几点(主要是后台管理):
1,用户权限控制(超级管理员和普通管理员)。
2,数据采集管理(类似增量采集,定时采集,采集配置等)。
3,后台管理页面导航菜单的控制(主要是判断左侧菜单项的active,面包屑导航生成等)。
4,影视的图片信息都直接调用的Http图片,未做本地存储(下载图片容易,恐怕需要单独的图片服务器)。
5,采集提供程序用到了多线程,可我基本不懂多线程。偶尔似乎会出问题的样子...
6,站点配置管理。这个就是一个页面,序列化与反序列化的问题。但就是没有实现 。
7,站点统计相当不完善。比如日志记录、访问者统计等。
希望以后还能找到时间和精力继续搞定这个东东...
没事截了几张图,贴上来看一看。
项目结构示意:
首页(采集了三类:电影,动漫,电视剧。出于测试目的,仅采集了50条):
这是详细页:
这个是详细页的评论框。字幕信息请求的是射手网的接口:
这是后台管理页面:
登录:
锁定:
影视管理列表页面:
影视管理详细信息编辑页面:
这是管理员管理页面(仅超级管理员可见,但目前没有做这个控制):
管理员详细信息页面(可锁定管理员):
还简单的做了一个访问者统计(统计这一块缺的东西相当多):
仅供新手学习。项目托管地址为:http://git.oschina.net/mcmurphy/Movi
补充:
项目的数据存储是可以在mongodb和Sqlserver中进行切换的。其中,mongodb的数据库连接字符串为:
<!--Mongodb-->
<add name="MoviMongoConnection" connectionString="mongodb://kangming:yqhkangming@127.0.0.1:27627/movi" />
我在开发的时候,配置了mongodb的权限,加了用户名和密码。出于安全性方面的考虑,将默认端口27017修改成了27627。这些配置因个人需求而异。另外,简单写了一个启动mongodb数据库的脚本,位置为 Movi.RazorWeb/App_Data 下的 mongodb_data.txt。当然,也可以直接添加为windows服务随系统启动。脚本内容为:
start bin/mongod.exe --dbpath .\db --logpath .\log\log.log --auth --port 27627 start bin/mongo.exe --port 27627 -u admin -p admin --authenticationDatabase movi
将上述脚本存储为bat格式,每次需要运行mongodb数据库的时候,点击即可。(当然,你得配置mongodb数据库匹配上述脚本内容)。关于mongodb配置方面的更多信息,可以参考 源代码项目 Movi.MongoRepository 下的 db.txt 文档。
对于EntityFramework,code first 的开发方式,除了配置正确的数据库连接字符串(这个没什么可说的),另外需要根据实际情况,结合 nuget 执行数据库初始或变更命令。经常用到的命令就下面三个:
Enable-Migrations
* 启动迁移功能,会在项目根目录下生成 Migrations 文件夹
Add-Migration -StartupProjectName * 在指定的项目中增加一个迁移点,此命令后会要求输入一个 Name 参数,此参数的值为迁移点名称 * 假设输入的迁移点名称为 init 则会生成一个类似如下的文件 201202290718442_init.cs,其包含两个方法 Up() 和 Down(),分别用于此迁移点的升级和降级
Update-Database -StartupProjectName (将指定的项目的数据库结构升级到最新) 上述命令的执行方式为: 打开程序包管理器控制台,将默认项目选择为:Movi.EFRepository。另外,请将 Movi.EFRepository 设置为启动项目。 如遇错误,请自行上网查找资料解决。
相关文章推荐
- 一个php开发的中学成绩管理系统
- 会员管理系统的设计和开发(3)--主界面的设计思路分享
- 分享一个Flex管理系统 Session超时的时候 用户操作时自动提示并跳转到登陆页面的方法
- 入门GTD时间管理系统必读(链接必读--很完整的一个GTD系统)
- 分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)
- 【基于shiro的分布式权限管理系统】一个用Java、spring、mybatis和shiro开发的分布式权限管理系统
- 请问Python适合用来开发一个基于B/S的信息管理系统吗?
- 分享一个自己做的简易敏捷开发管理工具——AgileLite
- 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
- 开发第一个安卓程序(按钮显示一个当前的系统时间)
- 利用python实战开发一个web管理系统框架
- 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
- 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)
- 和大家分享一个c编的日常支出管理系统
- 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
- 分享一个Flex管理系统 Session超时的时候 用户操作时自动提示并跳转到登陆页面的方法
- 由于最近网站内容需要更新的还是满多的,于是想开发一个采集系统。收集了一下资料。
- 分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)
- 5年以前开发一个消费场所会员管理软件的开发经验分享,小项目一般人折腾不起,靠小项目比较难创业成功
- 最近准备整理一下手头资料,开发一个工作流和表单管理系统