分享业余时间开发的一个影视采集及管理系统
极大的可能会在最近离职加入一家极具挑战的公司,时间和精力都会有一个比较大的调整。做这个系统也是出于娱乐的目的,但目的绝对是单纯的。
因为最初规划的时间关系,一切从简从快,主要功能特性如下:
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 设置为启动项目。 如遇错误,请自行上网查找资料解决。
转载于:https://www.cnblogs.com/mcmurphy/p/3726128.html
分享业余时间开发的一个影视采集及管理系统相关推荐
- python写音乐_你想过用代码来写音乐吗?我用业余时间开发的一个可以编程写音乐的python库(一)...
最近几个月学业繁忙,但是业余时间自己开发了很多python库,内容包括数学统计,各种游戏,还有音乐等等.其实还有试着写AI方面的,但是目前还是初期进度.今天我想先介绍一下我正在开发中的一个可以编程写音 ...
- 阿里程序员跳槽到小外企,再无996!业余时间开发APP,每月广告收入8万多!堪比阿里P8!...
大家都在追求工资以外的睡后收入,希望实现财富自由.有人在互联网大厂辛辛苦苦996挣钱,有人却能找到捷径顺利实现梦想.一个程序员小哥哥就从阿里跳到了一家小外企,虽然工资少了,但再也不用加班,他利用业余时 ...
- python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统
原标题:Python小项目:快速开发出一个简单的学生管理系统 本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: ...
- python小项目案例-Python小项目:快速开发出一个简单的学生管理系统
本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...
- python项目开发实例-Python小项目:快速开发出一个简单的学生管理系统
本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...
- 【总结】二手书网站开发总结(业余时间开发)
[b]1.技术概述[/b] 1.1 struts2.2.3 + spring2.5 + hibernate3 1.2 mysql5.5 + tomcat 6.0 + jdk 1.6 1.3 前台:js ...
- 业余时间写的一个项目的大致流程,欢迎拍砖
项目流程 第一,概念 提出项目概念,大致框架,流程等. 第二,提交领导审批 把项目大致情况上报领导,待领导审批. 第三,立项 领导审批后,完善大致 ...
- 业余时间开发的磁力链在线云播安卓app 欢迎大家体验
1.磁力链搜素封装了一些比较知名的磁力搜索引擎 2.点击就能在线转码播放 3.资源全面 播放速度还行 欢迎大家下载体验 https://pan.baidu.com/s/1pLgyQzL 转载于:htt ...
- python简单项目-Python小项目:快速开发出一个简单的学生管理系统
本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...
最新文章
- 晶闸管有几个pn结_晶闸管的电路符号和图片识别
- XML:DTD:Schema
- iOS活动倒计时的两种实现方式
- MySQL中varchar类型字段隐式转换造成多删除数据
- 4 weekend110的hive入门
- Mybatis新发现—在idea中数据库操作出现了异常,最好的查错助手居然是这个!
- Java PreparedStatement IN子句替代
- JSP—跳转页面的三种方式
- DataGridView的行的字体颜色变化
- Mahout学习笔记-分类算法之Decision Forest
- 宏晶新推出的STC16单片机,有哪些方面的不足?
- Windows10系统如何开启和关闭隐藏的卓越性能模式
- 计算机win7卡顿如何解决方法,win7卡顿严重解决方法_win7运行卡顿严重最流畅设置方法-win7之家...
- 淘淘商城第30讲——实现商品添加功能
- 交换机的工作模式:IVL和SVL
- Django之 Models Manager
- 轻松在线制作各种Logo标志
- 布雷默曼极限 (Bremermann‘s limit)
- 职位名称PM、RD、QA、OP英文缩写
- Apache的Order Allow,Deny 规则
热门文章
- Cadence virtuoso 修改symbal光标
- 怎样升级oppo手机android版本,OPPO R9手机全网通版升级ColorOS 3.0:基于安卓6.0
- 小红书被罚30万,理由:违反未成年人保护法
- 让手机支持OTG,不看绝对后悔! - 我也做一回搬运工,解决RFID读卡器OTG支持问题...
- 医学信息学相关术语、缩语及专业名词
- 什么蓝牙耳机玩游戏超低延迟?2022玩游戏超低延迟蓝牙耳机推荐
- HTML变列自适应布局三行,div自适应居中_典型的DIV CSS三行二列居中高度自适应布局...
- 【Oracle】oracle中CAST函数使用
- 基于 MFC+Halcon 实现图像缩放、平移
- 使用Python制作跳舞小熊的动态二维