19wu / 19wu Goto Github PK
View Code? Open in Web Editor NEW19屋 - 专注于技术社区的活动平台, Based on Rails, AngularJS and Bootstrap
Home Page: http://19wu.com
License: MIT License
19屋 - 专注于技术社区的活动平台, Based on Rails, AngularJS and Bootstrap
Home Page: http://19wu.com
License: MIT License
要修改 application.rb 的 generator
#13
defaults: &defaults
adapter: postgresql
encoding: unicode
host: localhost
pool: 5
username: postgres
password:
为什么叫做19wu?
要修改 application.rb 的 generator
因为时间比较急,我们得尽快定下来,最晚在今天 22:00 就决定是否改为使用 slim
如果你喜欢 slim 请回复 slim +1,并写明你最喜欢他的地方。
慢慢开始将测试完善起来了,防止后续改动引入问题。
simple_form
或者自己封装。
基于 simple_form
自定义 builder 会简单些。
项目启动后,请在根目录放一个LICENSE.txt ,选择MIT作为唯一授权。支持的请+1.
开发功能时能写下开发的步骤么?
比如,开发用devise开发注册功能,哪些代码可以自动生成,哪些需要自己写?
新手,同步一堆代码有点头大, thks!
这是第一个特性节点,大家可以尝试推送 patch 过来。
用户注册功能是指,新用户,包括发起活动者和参加活动者。
可以使用 devise 或者相关 gems 来处理。
有以下要求:
如果有任何问题和建议,请补充。
保持与 PostgreSQL 数据库级用户 postgres 一致
我看了下代码,被view/devise/和view/users给搞混了,是不是代码生成重复了?
现在 Gemfile:
group :development, :test do
gem 'rspec'
gem 'rspec-rails'
gem 'jasmine', '1.3.0'
end
rspec-rails 是用于 generator 的,只要放在 development 环境就行,但 rspec 我觉得应该放在 test 环境。 jasmine 呢?
请有兴趣参与的同学在跟贴留名。
然后 Watch 这个项目,以后有新的 issue,代码提交等操作 github 都会主动通知你。
thanks, all
把首页的 title 从 「NineteenWu」 改为 「19屋 - 卖活动票的小屋」
不是只能一个人接下任务,因为做什么不重要,体验过程很重要。
也许你还有其他问题,可以在这里回贴提问,我和其他人都会协助你。
😄
已完成任务的同学(持续更新)
@leonkaiyu
@thisiskun
@alan-hjkl
@lufeihaidao
@sakkkkkk
@windduke
@luckyyang
@sakkkkkk
@sailorhero
@golden05
@f5coder
@leopku
留意
请运行以下语句,yourname,your-mail 改成你自己的 github id 和 email
git config --global user.name "yourname"
git config --global user.email your-mail
毕竟一起做的人和后来的人不一样,我觉得这样对后来的人可能更容易参与
rails g controller home index
以下文件都不要生成
create spec/views/home/index.html.slim_spec.rb
invoke helper
create app/helpers/home_helper.rb
invoke rspec
create spec/helpers/home_helper_spec.rb
invoke assets
invoke coffee
create app/assets/javascripts/home.js.coffee
invoke scss
create app/assets/stylesheets/home.css.scss
我们开发项目时,用到的开源项目越来越多,其功能大都非常好用。但这些项目主要以插件形式为主,提供在线服务的开源产品却很少,也许我们可以做一些尝试,我相信开源社区也能做出好的产品。
这样的产品应该是完全免费,专注于单一需求,小而精,而非大而全,整体的设计采用简洁风格,操作简单的。
基于这样的理念,我开始做 19wu 这个开源项目,它将会成为更好的活动票务平台。
虽然发起这个项目的时候,整个 repo 只有一个 README,但截止到现在(12月16日),一个星期的时间,已经有 112 人报名,愿意贡献自己的一份力量,证明**的开源社区还是非常有活力的,关键是如何有效地组织起来。
我前几天和 @lgn21st、@windy 一起就这个问题进行讨论,初步的想法是在项目前期(2-3 weeks)先由几个有丰富经验的UI设计、开发人员把基础功能(首页、注册等)先做出来,而后组织参与者一起在各个细节上进行完善和扩展。
所以,我希望能够招募到 1 名视觉设计、 1 名开发加入核心研发团队,主要工作是:
如果你有兴趣加入,请回贴申请。
thank you.
去掉 psql 的调用,加入数据库迁徙
#34
等 #67 合并后就可以开始了,数据库也在那定义好了。
备案号:粤ICP备11089804号-5
首先做一个背景说明,我是以纯前端开发的角色参与到实际项目开发当中去的,在此之前(我公司目前的产品开发项目),我从未真正接触过一个完整项目的开发。我们公司当前的主力开发语言是Java,而我所处的项目组里只有我一个纯前端,经过一年多的开发实践之后,最最困扰我的事情就是如何将前端开发的过程无缝接入到整体开发流程当中去?
目前在我公司的项目组里,前端开发和后台开发几乎是完全分离的。当一个阶段的开发计划定下来之后,先由我实现一个纯静态的版本(包括部分不必依赖后台数据交互的Javascript),这些代码和项目主代码完全没有交集,版本控制也是分离的。然后Java工程师们再把我的这些静态代码分拆开写入到他们的模板系统中去,在这个过程中再添加和数据交互的部分以及剩余的Javascript。因为我不懂Java和他们使用的各种框架,所以这个过程我参与的不多,大多数过程就是帮他们整理HTML的结构和优化CSS+JS。
我个人觉得这是一套非常低效的作业流程,自从我开始接触Ruby和Rails之后,我一直希望能够把前后端的开发融合在一起。但问题是我觉得Rails的方式也不够完美,特别是当多位前端工程师协同工作的时候。如果我们直接使用Rails的模板系统写前端的代码,不同的前端工程师有不同的编码习惯,这取决于各自的经验和技术水平。我个人是很不乐意看到一大堆的views里充斥着不一致的标签解构,那会让我觉得很cheap。我心目中的理想方式是有一个统一的前端开发的控制和管理方式,然而一旦这么做就会和后台开发割裂开来,又回到复制/粘贴的老路线上去了,重复劳动增加。而且,如果负责写views的人对前端的理解较差,就会导致错误的改动原本ok的前端代码,产生不良影响(我们项目组里的工程师经常这么干)。
当然,我自己的理解是,造成我现在这种困惑的主因就是在我的团队里,前后端的”交集“太少,我对Java非常不了解,而且也厌恶看到Java纷繁复杂的结构;而Java工程师对前端的认知又极差,经常把HTML/CSS/JS改的一塌糊涂。是不是在各位高手看来,如果前后端偏科不严重的话,这样的问题就不再是问题了呢?
于是在加入这个开源项目的时候我就想和众多前端们探讨一下如何优雅的实现前后端无缝集成?想听听和了解你们大家的方式和建议。
我自己目前使用yeoman作为我的前端控制中心,通过它来管理我使用到的技术和框架,通过它来优化、合并、压缩我的图片、样式和脚本。问题就在于如何把yeoman集成到Rails当中去呢?
就我目前的经验来看,已知两种方式,不过它们都不完美。
1 在Ruby-China组织的一次线上活动中,我看到讲师在一个项目里创建一个单独的controller
来管理前端界面,然后再通过c/p的方式把这些静态代码替换到实际的views当中去。我不知道这是一种理想的集成方式呢,还是为了本次活动特意这么做的。但我觉得这样的方式本质上还是等于把大部分的HTML代码重写了一遍(通过复制),而且纯静态阶段的开发还要依赖分离的views吗?会不会太麻烦了?
2 在StackOverflow我看到有人回答说他在项目的app/assets/js
下创建一个yeoman
的目录,然后在这里用传统的方式来使用yeoman做前端开发,既不干扰rails框架本身,又可以实现统一的版本管理,还可以利用yeoman强大的功能。我想知道这会是各位前端高手们的选择吗?
就是这样,我很想听听各位对本项目前后端整合技术的见解和选择,你们是倾向于把前后端分离开,还是不管这些直接从views开始写起呢?又或者你们有什么更好的经验传授一下吗?
当项目运行完 bundle 后,还需要做以下工作:
这些统统通过运行 rake setup
来处理,注意在运行过程中输出足够的提示。
建议添加 Spork 支持,方便在开发时快速加载测试环境,减少时间消耗。
针对初学者:此功能在开发时可选,如果不想要可以忽略它;如果想用,只需要开启一个命令行窗口,输入:
$ spork
即可。Spork 会运行一个进程来加载测试环境,此后在运行测试的时候,会得到显著的速度提升。
如果你使用 IDE 来开发(如 Rubymine),你可以在 IDE 集成环境中启动 Spork,也一样会提高测试运行的速度。
关于自动测试:自动测试的支持(如 Guard)也是可选的,不知道大家是否想要添加进去?这取决于开发的习惯。我个人使用 Vim 编写代码,习惯了将不同的测试命令绑定在按键上,按需触发,并不喜欢 Guard 过于频繁的运行和提示。
不过这个项目的意义在于帮助新手了解实际项目的开发,所以没什么问题的话我也想添加进来作为可选项。
Update: 添加了 Guard 的 支持,这也是可以选用的功能。
$ guard
命令,同时会自动加载 Spork$ spork
,加速每次测试运行的速度。Guard 不会启动。提示需要gcc-4.4
,如果安装了xcode应该是没问题的,只安装了cli tool(比如我)就会报错。
这个问题我正在找solution,自己打个补丁吧。
售票系统,如何设计防止超卖?在大并发下又不能影响性能?
这个是否有成熟的方案,最近公司的项目上也有这样的需求,
故提一个Issue在此讨论!
默认情况下都会输出这样的log,
Started GET "/assets/...
Served asset /...
其实大多数是不需要关心这个log来着,是否需要添加上
group :development do
gem 'quiet_assets'
end
这个去掉有关assets的log?
已经显示几个字样。
明天谁有时间按 #11 使用 bootstrap 做出来。
我学习rspec有一段时间了,可是还是学得很烂。大家能说下你们是怎么学习rspec的吗?如果可以,请推荐些好的rspec文档,最好是能推荐个全面点的rspec api文档!!!
我现在用的rspec api文档是这个 http://apidock.com/rspec
我用的系统是ubuntu12.10,终端美化用on-my-zsh,编辑器是vim,配置是janus默认的配置,可是编写slim时没颜色的差别,有人帮忙推荐下slim的插件吗?
有些人没有安装 node.js。
使用 Capybara 来实现,模拟用户在浏览器的操作
下一步功能要显示活动的页面,这些信息就是在显示在这个页面了。
可能有些参与者不知道怎么做。
谁能写一下实例指南,最好有图有真相,从以下几个步骤来讲:
我这里是使用 Ubuntu,安装有任何问题请提问,其他平台的也请在这里补充。
稍后统一整理到 Wiki。
sudo apt-get install curl imagemagick
安装好 RVM
curl -L https://get.rvm.io | bash -s stable
安装 Ruby 依赖的系统组件(可以通过运行 rvm requirements
查看)
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison pkg-config
安装 Ruby
rvm install 1.9.3
把以下内容加到 ~/.bashrc 或者 ~/.zshrc 中
[[ -s "/home/saberma/.rvm/scripts/rvm" ]] && source "/home/saberma/.rvm/scripts/rvm"
sudo apt-get install postgresql-9.1 libpq-dev
修改 /etc/postgresql/9.1/main/pg_hba.conf
权限控制,本地 TCP 访问设置为完全信任
#host all all 127.0.0.1/32 md5
host all all 127.0.0.1/32 trust
修改后要重启
sudo service postgresql restart
请先 fork 项目,例如 @doitian fork 了项目后,看起来是这样的,然后就可以 clone 到本地了。
git clone [email protected]:doitian/19wu.git # 注意 doitian 会是你自己的 github 帐号
cd 19wu
bundle install --without sqlite3 mysql2 # without 参数会写入 .bundle/config
rake setup
rails server
用户注册后,进入未激活邮箱的状态。 我们同时要发送激活邮件,要防止被识别为垃圾邮件。
没有激活时,19wu 在首页头部给予提示。
这个一个特性节点。大家可以随便讨论和附带代码。
功能还没有进行开发,先做个最简单的首页。
这个图是用 https://www.easel.io 做的,很多对齐、颜色等细节没有微调。
为了让网站风格不突出,重点表示具体活动的内容,整体设计会偏淡。
大家看有没有问题?
草稿如下
首页用户注册时只需要输入一次密码就可以注册
devise要求注册form有密码和确认密码两项才可以注册,目前有确认密码一项,只是为了适应devise的规则。
https://github.com/danishkhan/ossmanifesto
We believe that all projects should:
Have a readme file
Have a contributing file
List all core team members in the readme file
Have a license file
Have a changelog
Follow semantic versioning
Tag all major releases
Provide documentation
等 #67 合并后就可以开始了,数据库也在那定义好了。
「忘记密码」链接放在登录页面中。
收集一个活动的各种重要信息,为下一步开发「发起活动」功能做准备。
大家自由讨论。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.