关注微信 欢迎致电:400-8310-286

你在这里

Laravel学习笔记(三)数据库迁移介绍

Laravel学习笔记(三)数据库迁移介绍

该章节内容翻译自《Database Migration using Laravel》,一切版权为原作者。

原作者:Stable Host, LLC

翻译作者:Bowen Huang

翻译作者更多博客:http://www.cnblogs.com/huangbx

 

正文:

 

Laravel鼓励敏捷、迭代的开发方式,我们没指望在第一次就获得所有正确的。相反,我们编写代码、测试和与我们的最终用户进行交互,并完善我们的理解。

Laravel学习笔记(二)Laravel 应用程序的体系结构

Laravel学习笔记(二)Laravel 应用程序的体系结构

在一切环境就绪了,当然就要开始了解框架了。

站在巨人的肩膀上,学东西会事半功倍。我在网上找到一篇好文章,正好可以让我轻松了解Laravel应用程序的体系结构。因此借来直接用了。

该章节内容翻译自《Architecture of Laravel Applications》,一切版权为原作者,由于原作者写这篇文章时Laravel版本还没有到4.1,一些地方有稍微差别,我会稍作修改。

原作者:Stable Host, LLC(不知道找对了没有)

翻译作者:Bowen Huang

翻译作者更多博客:http://www.cnblogs.com/huangbx

 

正文:

 

Laravel学习笔记(一)安装配置开发环境

Laravel学习笔记(一)安装配置开发环境

 

摘要

 

Laravel的目标是给开发者创造一个愉快的开发过程,并且不牺牲应用的功能性。快乐的开发者才能创造最棒的代码!为了这个目的,开发者博取众框架之长处集中到Laravel中,这些框架甚至是基于Ruby on Rails、ASP.NET MVC、和Sinatra等开发语言或工具的。

 

对Laravel初步认知

 

刚从事PHP开发没多久,对PHP的一些框架了解甚少,在CSDN上看到一篇文章《PHP开发框架流行度排名:Laravel居首》,才知道还有Laravel这么个框架,正好公司想从事Laravel的开发,就学习一下。然后搜索了大量的资料,了解到了它是什么。

至于它的详细介绍我就不说了,google一下,就有了。

 

Laravel环境搭建

 

奖杯销售网站

概述

我们的客户是英国的一家在线销售奖杯的公司,用于销售各种奖杯。客户以前有一个使用.NET开发的电子商城,现在无法满足他们的业务需求,因此需要升级网站,添加新的功能。他们选中了我们公司,通过沟通,决定使用PHP的X-Cart CMS进行开发。

需求

  • 数据迁移:将MSSQL数据库迁移到MySQL,使其符合X-Cart要求。
  • Responsive:使网站适用于各种设备。
  • 相关联产品:在产品页列出同一产品的不同尺寸,不同颜色的产品。
  • 自定制功能:雕刻文字,雕刻图片,选择绶带。
  • 邮件通知:注册,确认订单,付款,修改订单等都需要有邮件通知。
  • 税率管理:可以应用于各奖杯。
  • 优惠券:用户可以使用,管理员可以管理。
  • 管理订单:管理员非常方便的对订单进行添加,修改,删除等。
  • 在线支付:WorldPay, PayPal

解决方案

数据迁移

由于客户以前的MSSQL数据库的数据结构与X-Cart的数据结构差异非常大,并且数据量非常大。手动进行数据转移,工作量大,出错的可能性也非常高,因此,我使用.NET开发了一个数据转换的工具来实现数据结构的转变和数据的迁移,然后再导入到MySQL中。

功能实现

在不改变X-Cart原有框架和核心代码的前提下,对其进行扩展,添加自定制的功能。并且实现了管理员对自定制功能的最大管理化,对于自定制的字体,字数,雕刻产品类型,雕刻部位,雕刻选项等都可以独立管理。并且管理员可以非常轻松的管理订单的雕刻信息。

对于邮件通知,使用X-Cart内置的SMTP邮件发送方法来实现。

所用技术点

  • PHP
  • Smarty
  • Jquery
  • X-Cart
  • MySQL

技术难点

迁移数据到一个数据结构完全不同的数据库,我通过中间文件csv实现,使用自己开发的生成工具将MSSQL数据库中的数据生成到csv(数据结构满足于X-Cart 导入需求)中,然后将csv导入到X-Cart 系统,最终保存到MySQL中。

亮点

  • 高度自定制雕刻
  • 显示相关联产品
  • 生成订单详细发票
  • 邮件通知
  • Responsive
  • 后台管理简单

系统截图

首页

产品页面

购物车页面

订单确认页面

WorldPay支付页面

雕刻选项管理页面

订单管理页面

发票信息

移动版页面

客户收益

  • 相对于客户以前的网站,在加入自定制雕刻功能后,销售量是会大大增加的。
  • X-Cart 自带的自动统计功能,为客户展示了销售排行,累计销售等情况。
  • 邮件通知可以让客户及时处理订单请求。

 

你们公司有X-Cart的项目经验吗?

admin 提交于 星期一, 2014-03-03 14:26
有非常丰富的X-Cart项目经验,给英国的奖杯销售商定制过e-Commerce.

有哪些合作模式?

admin 提交于 星期一, 2014-03-03 14:25

固定价格项目,长期合作,购买工时,免费试用。

详细请见:http://www.novasoftware.cn/about/合作模式

双软认证

admin 提交于 星期一, 2014-03-03 14:09

房地产投资咨询和管理系统

概述

我们的客户是澳大利亚一家房地产咨询和管理公司。主要为一些公司和个人提供房地产方面的咨询和管理以及个人资产基于房地产的长期和短期投资。

客户想基于WordPress量身定制一个房地产业务咨询和管理系统。在CMS基础上完成自定义的业务逻辑。用户可以预定房产资源,咨询房产信息,以及基于自身资产咨询和自定义投资方案。用户可以选取不用的投资策略利用系统的定义的报表生成器查看相应的回报率,选取理论上回报最高的方案。

需求

量身定做的WordPress主题。客户需要一个为他量身定做的主题,基于经典的黑白色定制,菜单系统的多样化。Sidebar的灵活定制。利用多样模板和内容类型逻辑控制sidebar的多样性,预留广告位。

客户的投资模块是一个非常重要的需求,我们采用自定义模块的方式,灵活加入后台管理在结合WordPress本身钩子Api满足扩展字段的需求,在定制的property模块中客户可以上传文件,图片指定property的地点,洲际以及各种相关的细节字段并且可以灵活扩展添加多字段。内置地图功能,利用map接口插入property的信息。

前端显示上,对于查询我们也做了很多可视化的操作,客户强烈要求的地图查询是专门量身定做的。介于澳大利亚的地理特殊性,用户可以点击地图的洲际分布查找澳大利亚的房产信息,用户体验感非常好。

报表显示采用了模块和highchart结合的方式,模块负责处理投资的业务逻辑。Highchart api负责处理前端的显示。用户可以省去思考的细节过程,只需要滑动鼠标。图标和回报细节表便会呈现给用户。体验感非常强烈。

注册并登陆的用户可以将心仪房产加入比较框,详细比较他们细节差别。提高用户体验。

相应房产很多,很多有相同的属性,为了免去客户的频繁导入和设置,我们为客户量身定做了克隆按钮,一件克隆property属性并可灵活修改。以客户为中心,为客户节省很多时间。客户体验感也增强。

系统截图

主页:

房产页面:

投资报表页面:

自定义后台管理页面:

后台投资计算器配置界面:

解决方案

涉及的技术:

  1. Wordpress api
  2. Php
  3. Js,jquery
  4. Highchart api
  5. Ajax webservice
  6. Html+css

总结:

开发过程中对于客户定制性的需求我们都采用模块的形式扩展,分离wordpress核心和模块。对于克隆的功能我们绕过核心代码,采用js+ajax+webservices的方式来模块扩展。完全达到了客户的需求。

通过这个项目,使我们对于房产这一领域的独特或者细节地方(各种税率的计算方式,投资计算的方法等)积累了更多经验。和客户实现了双赢。

 

 

供应商管理系统

项目概述

客户是从事机械配件生成,销售,出口为一体的股份制企业,其供应商数量比较多,管理上难度增大。该系统的目的就是为了更好的管理各个供应商需求的Web平台,让各供应商和企业都可以通过该系统进行管理和交流。

该网站主要采用C#语言基于ASP.NET MVC进行开发的应用程序,无论供应商所处位置在国内还是国外,都可以登录进行访问,进行数据录入及查询等操作,并大大降低了企业的维护成本。

需求分析

核心业务:订单处理,生成送送单,送货单发货。主要是针对供应商对企业订单的处理。

扩展业务:期初/库存录入、索赔、申报及整改录入。

打印业务:条码打印,包括单个打印和批量打印。

报表业务:从多个方面统计订单和账单数据。

信息业务:信息平台(公告和消息)。

项目展示:

系统首页,用户进入系统后能快速的了解核心业务(数据)和信息,并迅速进入到相应的模块了解详细内容。

系统根据不同用户角色分配显示的每个菜单。

界面简洁明了,层次结构强,响应速度快。

数据列表显示

解决方案

操作系统:

Windows XP及以上

浏览器种类及版本

  • IE 8及以上
  • Google Chrome
  • Firefox

技术要求:

  • C#
  • ASP.NET MVC
  • Microsoft SQL Server
  • Microsoft Visual Studio 
  • Entity Framework 
  • Web Service
  • JQuery(DataTables)
  • Bootstrap 
  • NPOI(Export Excel)

系统分析

数据库

数据库中表比较多,里面创建了较多View作为临时表或数据获取对象,并添加了自定函数和大量存储过程实现大数据的操作。项目开发过程中随时有对数据库进行备份和还原操作。另外对数据库结构的任何修改都会采用脚本的形式进行数据库升级。

架构分析

采用ASP.NET MVC三层架构开发模式,模型层应用了ADO.NET Entity Framework对数据进行操作,大大提高了开发效率;视图层采用了Html、Css2及部分CSS3特性和JavaScript,利用三方组件的有JQuery和Bootstrap,特别是列表数据显示,本项目采用的是JQuery Datatable,界面美观,效率较高;控制器利用Linq对模型的数据操作处理,业务逻辑显而易见,同时利用了部分WebService,加上Ajax异步作用对数据进行刷新处理,大类数据分页处理主要也Json数据进行传输,整体运行速度较快。

任务开发

开发阶段分为多步。需求分析,了解需求分析,在不明确或疑问之处,及时向客户提出或询问;原型阶段,在需求基本理解后,就开始着手于界面设计,在经过整体原型完成后,再向客户确认是否满足客户对系统的要求,若客户对原型有异议的地方,接下来还是应该对原型进一步修改,直到原型得到客户认可为止;开发阶段,客户同意了原型后,我们就可以正式开始项目的编码,中途遇到的问题需及时跟客户交流沟通,达到一致才能进行实施,在此过程中,我们还将分阶段的让客户看到我们所完成的工作,让客户更直观的了解项目进度和提早反馈;测试阶段,经过反复确认开发完毕后,我们将对系统进行全面的测试,以确保界面正常,业务正确,性能高效等;提交部署阶段,在通过一番测试后,我们就会向客户提交项目及帮助客户部署到客户环境当中试用,试用成功后上线;反馈处理阶段,在客户试用和上线过程中发现的Bug或问题,我们都会及时进行修改,再次发布,直至客户满意为止。

亮点

  • NPOI方式导出Excel,无需在计算机上安装Microsoft Office Excel。
  • 通过不同的条码规则生成条码及打印。

客户收益:

  • 采用敏捷/迭代开发模式,减少了整个开发周期中可能遇到的风险。
  • 向客户发送日报及周报,让客户清楚了解开发状况。
  • 报表查询条件充分,查询速度快。
  • 系统结果明确,代码附带详细注释,减少维护成本。
  • 菜单分类显示,功能一目了然,操作方便快捷。

总结

本系统采用的成熟的框架及前沿的客户端效果,网站运行速度快,用户体验好,最终成果获得了客户认可。

合作方面,虽然业务方面有一定的争议,但公司秉承着为客户着想的思想,耐心地沟通交流,并站在客户角度思考问题,最终双方达到了双赢的效果。

价格监视项目

项目概述

客户在eBay网站上做电子产品的外贸生意。客户需要监视eBay上同类产品的价格,然后跟自身产品价格进行比较,最后实现自(手)动调价的功能。

该软件主要是利用指定网站API去获取该站点上某商品的价格变化及同公司价格对比反映利润。

需求分析

  • 用户管理。能创建和删除用户,授予管理员的权限。
  • 添加监视项。能够按照公司编码格式及相关必须项将监视项保存到本地。
  • 定时扫描监视列表中的所有产品,更新eBay上的价格,并计算出客户的利润率。
  • 当监视价格发生变化时,系统将会进行弹窗提醒。
  • 查询统计功能。通过统计分析,让客户对产品销售情况做到心中有数。

相关技术

  • C#
  • DevExpress
  • EntityFramework

解决方案

  • 本项目采用敏捷开发模式,更好的处理客户提出需求或问题。
  • 采用优秀的DevExpress界面控件,界面美观,操作简便。
  • 技术上主要使用BackgroundWorker实现价格监视更新。
  • 合作方式,及时透明沟通,向客户发送日报和周报,让客户了解项目开发情况。
  • 项目部署,客户遇到的问题,我们都会想办法解决,让客户能顺利地,熟练地使用。

亮点

  • 每间隔时间进行对指定网站价格获取比对。
  • 简单明了的价格趋势展示。
  • 利润分析统计及价格回位及时避免公司收益亏损。

客户收益

  • 客户能方便快捷地找到产品的地址,了解详细信息。
  • 客户能够及时的了解自身产品的利润,从而更改价格,避免亏损。
  • 极大程度地为降低了客户的时间成本,同时提高了数据分析的准确性,避免人工误差。

项目截屏

登陆-用户登陆信息可以通过软件进行管理

添加监视-当填写了正确的商品编码后,红色选择区域将显示对应的相关信息提供参考

主界面-展示所有监视项的所有相关信息

价格变化列表-显示所监视的产品价格发生变化的产品

低利润率列表-显示所有利润率较低的产品列表

 

页面

备案/许可证编号为:渝ICP备14000366号-1