Coder Social home page Coder Social logo

19wu / 19wu Goto Github PK

View Code? Open in Web Editor NEW
563.0 563.0 246.0 2.11 MB

19屋 - 专注于技术社区的活动平台, Based on Rails, AngularJS and Bootstrap

Home Page: http://19wu.com

License: MIT License

Ruby 75.68% CoffeeScript 5.32% HTML 15.75% CSS 3.26%

19wu's Introduction

19wu

Build Status Code Climate Dependency Status Coverage Status

这里是 19wu.com 网站源代码.

官网

http://19wu.com/szruby

部署在 Heroku 的测试网站

http://saberma-19wu.herokuapp.com Email:[email protected] Password:666666

系统要求

  • Ruby 2.0.0 (or 1.9.3)
  • PostgreSQL (or MySQL, SQLite)
  • ImageMagick

安装步骤

git clone git://github.com/19wu/19wu.git
cd 19wu
bundle install --without sqlite3 mysql2
bundle exec rake setup
rails server

详情

文档资源

Wiki文档

常见问题

团队

所有贡献者

如何贡献

赞助商

感谢以下赞助商:

License

The MIT License

Project is a member of the OSS Manifesto.

19wu's People

Contributors

aptx4869 avatar caok avatar chloerei avatar doitian avatar eric-guo avatar f5coder avatar flypiggy avatar golden05 avatar hardywu avatar ichord avatar ival avatar jacky-zhangjb avatar jasl avatar juanitofatas avatar lax avatar layerssss avatar leopku avatar lokyoung avatar loveky avatar lufeihaidao avatar lytsing avatar nightire avatar richard-ma avatar saberma avatar sailorhero avatar thisiskun avatar tony612 avatar windy avatar yesmeck avatar ywjno avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

19wu's Issues

显示首页

已经显示几个字样。

明天谁有时间按 #11 使用 bootstrap 做出来。

运行 generator 时不要生成独立的helper, css, js 和 view 测试等文件

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

数据库你是否更趋向于使用 PostgreSQL?

技术造型 中,我是习惯使用 PostgreSQL 作为 production 环境的数据库,不知道其他人在 development 环境使用 PostgreSQL 方不方便。

如果你更趋向于使用 PostgreSQL? 请回复 +1

如果你更趋向于使用 MySQL,请在 这里 回复。

项目开发前会根据这两个投票结果选择开发环境下的数据库。

注册激活功能

用户注册后,进入未激活邮箱的状态。 我们同时要发送激活邮件,要防止被识别为垃圾邮件。

没有激活时,19wu 在首页头部给予提示。

这个一个特性节点。大家可以随便讨论和附带代码。

首页草稿效果

功能还没有进行开发,先做个最简单的首页。

这个图是用 https://www.easel.io 做的,很多对齐、颜色等细节没有微调。
为了让网站风格不突出,重点表示具体活动的内容,整体设计会偏淡。

大家看有没有问题?

草稿如下

home

开发环境用不到 rspec 这些吧

现在 Gemfile:

group :development, :test do
  gem 'rspec'
  gem 'rspec-rails'
  gem 'jasmine', '1.3.0'
end

rspec-rails 是用于 generator 的,只要放在 development 环境就行,但 rspec 我觉得应该放在 test 环境。 jasmine 呢?

添加 Spork & Guard 支持,便于快速加载测试环境和自动化测试

建议添加 Spork 支持,方便在开发时快速加载测试环境,减少时间消耗。

针对初学者:此功能在开发时可选,如果不想要可以忽略它;如果想用,只需要开启一个命令行窗口,输入:

$ spork

即可。Spork 会运行一个进程来加载测试环境,此后在运行测试的时候,会得到显著的速度提升。

如果你使用 IDE 来开发(如 Rubymine),你可以在 IDE 集成环境中启动 Spork,也一样会提高测试运行的速度。

关于自动测试:自动测试的支持(如 Guard)也是可选的,不知道大家是否想要添加进去?这取决于开发的习惯。我个人使用 Vim 编写代码,习惯了将不同的测试命令绑定在按键上,按需触发,并不喜欢 Guard 过于频繁的运行和提示。

不过这个项目的意义在于帮助新手了解实际项目的开发,所以没什么问题的话我也想添加进来作为可选项。

Update: 添加了 Guard 的 支持,这也是可以选用的功能。

  1. 如果你喜欢自动测试,运行$ guard命令,同时会自动加载 Spork
  2. 如果你喜欢手动测试,可以运行$ spork,加速每次测试运行的速度。Guard 不会启动。

参与者报名贴

请有兴趣参与的同学在跟贴留名。

  • 有 ruby china 帐号的请写上
  • 简单介绍自己擅长的方面:UI设计、开发、测试、运营、推广

然后 Watch 这个项目,以后有新的 issue,代码提交等操作 github 都会主动通知你。

thanks, all

安装说明,有任何问题请反馈

我这里是使用 Ubuntu,安装有任何问题请提问,其他平台的也请在这里补充。
稍后统一整理到 Wiki。

Arch Linux 的看这个 回贴

Windows Xp 和 Windows 7 的看这个 回帖

ubuntu / lubuntu 12.10

RVM

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"

PostgreSQL

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

19wu

请先 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

征集 Logo

Logo 只要一个小屋子,里面写上 19 这个数字。

小屋子类似于这个 home_ico ,简单纯色的就可以 了。

合并首页『密码』和『确认密码』

首页用户注册时只需要输入一次密码就可以注册

devise要求注册form有密码和确认密码两项才可以注册,目前有确认密码一项,只是为了适应devise的规则。

Form Builder

simple_form 或者自己封装。

基于 simple_form 自定义 builder 会简单些。

编写「如何给 19wu 贡献代码」指南

可能有些参与者不知道怎么做。

谁能写一下实例指南,最好有图有真相,从以下几个步骤来讲:

  • 如何 fork 19wu 的源代码
  • 在 issue 中留名,表示你正在做
  • 开始修改代码
  • git commit 时注意要加上 issue 的 id 号,让两者关联
  • 如何提交 Pull Request

Rails 零基础新手任务 1 - 提交 PR

把首页的 title 从 「NineteenWu」 改为 「19屋 - 卖活动票的小屋」

  • 你可以从 #19 了解如何安装环境
  • 在本地修改代码后提交 commit,为了关联上issue,commit 的内容要写上 #50 这个 issue id
  • 然后从 #41 了解如何提交 Pull Request

不是只能一个人接下任务,因为做什么不重要,体验过程很重要。

也许你还有其他问题,可以在这里回贴提问,我和其他人都会协助你。

😄

已完成任务的同学(持续更新)
@leonkaiyu
@thisiskun
@alan-hjkl
@lufeihaidao
@sakkkkkk
@windduke
@luckyyang
@sakkkkkk
@sailorhero
@golden05
@f5coder
@leopku

留意

  1. 提交的 commit 要带个人 Github 信息

请运行以下语句,yourname,your-mail 改成你自己的 github id 和 email

git config --global user.name "yourname"
git config --global user.email your-mail

参与者可以运行 rake setup 来简化安装过程

当项目运行完 bundle 后,还需要做以下工作:

  • 复制 database.ym.example 为 database.yml
  • 创建数据库
  • 运行迁徙脚本

这些统统通过运行 rake setup 来处理,注意在运行过程中输出足够的提示。

吐槽下首页

吐槽使产品进步,我想大家以后在不人身攻击的前提下,应该多反馈一些想法。

首页实在是太宽了。尤其是右侧注册form的按钮,分辨率大一些的显示器没法看了。

download

首页居中显示

fluid 比较合适分栏显示,且内容较多的情况下。

19wu 现在内容很少,还是居中显示会好点。

另外,顶端导航条,还有各个内容 block 的高度也需要调整完善。
#56

开发功能时能写下开发的步骤么?

开发功能时能写下开发的步骤么?

比如,开发用devise开发注册功能,哪些代码可以自动生成,哪些需要自己写?

新手,同步一堆代码有点头大, thks!

开发环境下是否去掉有关assets的log?

默认情况下都会输出这样的log,

Started GET "/assets/...
Served asset /...

其实大多数是不需要关心这个log来着,是否需要添加上

group :development do
  gem 'quiet_assets'
end

这个去掉有关assets的log?

如何将前端开发融入到整体开发流程中去?

首先做一个背景说明,我是以纯前端开发的角色参与到实际项目开发当中去的,在此之前(我公司目前的产品开发项目),我从未真正接触过一个完整项目的开发。我们公司当前的主力开发语言是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开始写起呢?又或者你们有什么更好的经验传授一下吗?

用户注册功能(参与者开发)

这是第一个特性节点,大家可以尝试推送 patch 过来。

用户注册功能是指,新用户,包括发起活动者和参加活动者。

可以使用 devise 或者相关 gems 来处理。

有以下要求:

  1. 要有测试
  2. 测试是通过的

如果有任何问题和建议,请补充。

核心研发团队招募

我们开发项目时,用到的开源项目越来越多,其功能大都非常好用。但这些项目主要以插件形式为主,提供在线服务的开源产品却很少,也许我们可以做一些尝试,我相信开源社区也能做出好的产品。

这样的产品应该是完全免费,专注于单一需求,小而精,而非大而全,整体的设计采用简洁风格,操作简单的。
基于这样的理念,我开始做 19wu 这个开源项目,它将会成为更好的活动票务平台。

虽然发起这个项目的时候,整个 repo 只有一个 README,但截止到现在(12月16日),一个星期的时间,已经有 112 人报名,愿意贡献自己的一份力量,证明**的开源社区还是非常有活力的,关键是如何有效地组织起来。

我前几天和 @lgn21st@windy 一起就这个问题进行讨论,初步的想法是在项目前期(2-3 weeks)先由几个有丰富经验的UI设计、开发人员把基础功能(首页、注册等)先做出来,而后组织参与者一起在各个细节上进行完善和扩展。

所以,我希望能够招募到 1 名视觉设计、 1 名开发加入核心研发团队,主要工作是:

  • 视觉设计,负责 Logo 和 网站设计。
  • 开发,和 @saberma @windy 一起做项目最开始的基础功能。

如果你有兴趣加入,请回贴申请。

thank you.

售票系统,如何设计防止超卖?

售票系统,如何设计防止超卖?在大并发下又不能影响性能?
这个是否有成熟的方案,最近公司的项目上也有这样的需求,
故提一个Issue在此讨论!

帮忙推荐下vim slim插件

我用的系统是ubuntu12.10,终端美化用on-my-zsh,编辑器是vim,配置是janus默认的配置,可是编写slim时没颜色的差别,有人帮忙推荐下slim的插件吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.