(原创)七夜在线音乐台开发 第二弹

上一篇我讲了一下七夜在线音乐平台的服务器与域名,也就是设施部分。今天我将大体上的设计思路,技术要点,和大家分享一下。

项目需求: 我的目标是设计一个在线音乐平台,大家可以随时点播自己喜欢的歌曲,支持多样化检索,并且根据个人喜好,进行推荐。同时用户可以自定义歌单,支持收藏等功能。提供移动端API接口,可以供app开发使用。

项目框架:我将通过一张图的形式,展示整体的设计方案。

整体框架基本上就是上图所示,接下来咱们根据图中的模块依次讲解所需要的技术要点。

UI界面模块,其实也就是咱们说的web前端开发,包括Html ,CSS,javaScript等技术,当然也是我最不喜欢做的一部分。

一个具有黑客情怀的人,只喜欢那黑黑的命令窗口。

由于咱们要做的是音乐平台,需要在网页上播放音乐,所以web前端无法缺少网页播放器,咱们这次选择的是jplayer播放器,为什么选择他呢?因为jplayer的兼容性是最佳的,连在IE6上都可以运行,大赞。。。。。。总体说来,要做好在线音乐平台的前端,html+CSS+javaScript+jplayer这些都是要会的,是不是已经有人感到头大了。。。

在之后的教程中,我会把这些都讲到的,大家放心。

移动端咱们之后再说,会用到android和IOS。本人只是玩过android。

接着说Web后台开发:

这次搭建web后台,使用的编程语言:python,运行环境:python 2.7.X,操作系统:Debian x64。

Web框架采用flask。采用flask有几点原因,1. 本人学过 2. 轻量级 3. 扩展插件丰富 4.容易为移动端提供api。

大家肯定想说这个框架没学过,你写完我能看得懂嘛???

当然 我会从零开始讲起如何使用flask 框架,然后一步一步的朝音乐平台搭建前进。但是前提你必须要有python基础,基础语法我是不会讲的,如果想学习python基础,百度一下廖雪峰教程。

再说一下数据库的事情,首先要明确一点歌曲本身是不能存在数据库的,因为数据太大,不方便提取,一般数据库存放的都是音乐的索引。这次使用的是mongodb数据库。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。为什么选择这个数据库呢? 1. 本人正在学习 2. 和python一起使用超强,我心中的最佳cp。 3.使用爬虫爬取数据时,存储起来最方便。

最后我要说一下音乐数据的问题:大家发现我没有把他加入框图中,我只是不想让大家把数据库中的数据和歌曲本身数据混淆了。首先说一下歌曲,我怎么获取? 上一篇我说过要使用网易的音乐源,但我不可能手动一首一首的下载,这样会累死,而且无法获取歌曲的详细信息。所以我要使用爬虫来下载歌曲和歌曲信息,并存储到数据库中。之前我写过一篇 爬取慕课网视频 的技术帖子,上面写了一个简单爬虫,大家可以学习一下。这次我使用成熟的爬虫框架 scrapy,方便扩展,方便开发。所以咱们还要讲解 scrapy框架。

说到这里,大家是不是感觉要疯了,我怎么要学这么多???要酷炫,就要付出。

说一下之后的规划,既然是从零开发在线音乐平台,那咱们就从零开始讲解所需的技术。web前端,flask框架,mongodb,scrapy,每一个都需要我们来蒸熟。。。。

由于本人参加了华为的比赛,虽然比赛已经开始1个多月,而我刚开始,还有10天结束。所以下次的分享可能会在10天之后,大家敬请期待。

今天的分享就到这里,如果大家觉得还可以呀,记得打赏呦,没钱租服务器了。

原文发布于微信公众号 - 七夜安全博客(qiye_safe)

原文发表时间:2016-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏c#开发者

C# : row-clickable GridView and get and set gridview rows using JavaScript

Complete C# code: ---------------- using System; using System.ComponentModel; ...

2966
来自专栏菩提树下的杨过

SqlTransaction事务使用示例

using System; using System.Data; using System.Data.SqlClient; using System.Co...

1828
来自专栏成长道路

JDBC动态SQL语句连接orcale数据库的工具类

import java.sql.Connection; import java.sql.DriverManager; import java.sql.P...

2430
来自专栏码匠的流水账

聊聊EurekaRibbonClientConfiguration

spring-cloud-netflix-eureka-client-2.0.0.RELEASE-sources.jar!/org/springframewor...

1121
来自专栏海说

Java应用中常见的JDBC连接字符串(SQLite、MySQL、Oracle、Sybase、SQLServer、DB2)

Java应用中常见的JDBC连接字符串 Java应用中连接数据库是不可或缺的,于是便整理一些可能用到的JDBC的jar包及其相匹配的URL,以备日后查阅。 1)...

2680
来自专栏听雨堂

想修改CSS

      下载了一个“通用”的CSS文件,本来想偷懒的,结果发现有问题,就是它用的颜色是变量定义的,无法识别。我又找不到在哪里可以定义。 BODY{     ...

20110
来自专栏互联网开发者交流社区

WinForm之窗体应用程序

1753
来自专栏跟着阿笨一起玩NET

C# Stream 和 byte[] 之间的转换

571
来自专栏码匠的流水账

聊聊spring cloud的AbstractLoadBalancingClient

本文主要研究一下spring cloud的AbstractLoadBalancingClient

812
来自专栏闻道于事

商城项目整理(三)JDBC增删改查

商品表的增加,修改,删除,订单表的增加,确认,用户表的查看,日志表的增加,查看 商品表建表语句: 1 create table TEST.GOODS_TABL...

5415

扫码关注云+社区