Skip to content

Commit

Permalink
first commit drunk
Browse files Browse the repository at this point in the history
  • Loading branch information
Luciano Sousa committed Apr 7, 2011
0 parents commit 0a9b976
Show file tree
Hide file tree
Showing 82 changed files with 10,737 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
log/**/*
log
tmp/**/*
tmp
config/database.yml
db/schema.rb
.bundle
*.log
db/schema.rb
db/*.sqlite3
.rvmrc
Gemfile.lock

1 change: 1 addition & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--colour
11 changes: 11 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
source 'http://rubygems.org'

gem 'rails', '3.0.6'

gem 'mysql2'
gem 'devise'

group :development, :test do
gem 'factory_girl_rails'
gem 'rspec-rails'
end
39 changes: 39 additions & 0 deletions README.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Startrack Tracker:

## Objetivo: Montar um aplicativo para a gestão de projetos com times ágeis.

### FUNCIONALIDADES SUGERIDAS:

* Cadastro de conta empresarial(organização).
* Cadastro de projeto.
* Cadastro de membros do time.
* Escrever user story.
* Definir tarefas para a user story.
* Definir Product Backlog.
* Definir Sprint Backlog.
* Definir o fluxo de trabalho.
* Definir sprints.
* Priorizar user stories.
* Definir estados para as tarefas.
* Definir story points.
* Definir a velocity do time.
* Exibir user stories finalizadas.
* Definir responsável pela tarefa.
* Cadastrar bug para uma user story.
* Agrupar user stories.
* Detalhar user stories.
* Exibir burndown chart.
* Exibir andamento do projeto.
* Relacionar documentos complementares a user story.(Attach Mockups)
* Permitir a aceitação da user story pelo cliente.
* Adicionar detalhes de conversas nas user stories.
* Adicionar testes de aceitação nas user stories.

#### QUESTÕES A SEREM DISCUTIDAS:

1. As organizações terão limite de projetos.
2. Os projetos terão um número máximo de usuários para acompanhamento do mesmo.
3. Será permitida a troca de prioridade nas user stories após o início de uma Sprint.
4. A aplicação permitirá a definição do DOD(Do Of Done) para o projeto.
5. Pair Programming deve ser considerado para os times dos projetos.
6. Como será feita a comunicação do time para informar novas informações adicionadas as user stories.
7 changes: 7 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require File.expand_path('../config/application', __FILE__)
require 'rake'

Startrack::Application.load_tasks
3 changes: 3 additions & 0 deletions app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
class ApplicationController < ActionController::Base
protect_from_forgery
end
4 changes: 4 additions & 0 deletions app/controllers/home_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
class HomeController < ApplicationController
def index
end
end
86 changes: 86 additions & 0 deletions app/controllers/projects_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
class ProjectsController < ApplicationController
before_filter :authenticate_user!

# GET /projects
# GET /projects.xml
def index
@projects = Project.all

respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @projects }
end
end

# GET /projects/1
# GET /projects/1.xml
def show
@project = Project.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @project }
end
end

# GET /projects/new
# GET /projects/new.xml
def new
@project = Project.new

respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @project }
end
end

# GET /projects/1/edit
def edit
@project = Project.find(params[:id])
end

# POST /projects
# POST /projects.xml
def create
@project = Project.new(params[:project])
@project.users << current_user

respond_to do |format|
if @project.save
format.html { redirect_to(@project, :notice => 'Project was successfully created.') }
format.xml { render :xml => @project, :status => :created, :location => @project }
else
format.html { render :action => "new" }
format.xml { render :xml => @project.errors, :status => :unprocessable_entity }
end
end
end

# PUT /projects/1
# PUT /projects/1.xml
def update
@project = Project.find(params[:id])

respond_to do |format|
if @project.update_attributes(params[:project])
format.html { redirect_to(@project, :notice => 'Project was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @project.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /projects/1
# DELETE /projects/1.xml
def destroy
@project = Project.find(params[:id])
@project.destroy

respond_to do |format|
format.html { redirect_to(projects_url) }
format.xml { head :ok }
end
end
end
10 changes: 10 additions & 0 deletions app/helpers/application_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
module ApplicationHelper
def avatar_url(user)
if user.url_image.present?
user.url_image
else
gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
"http://gravatar.com/avatar/#{gravatar_id}.png?s=48"
end
end
end
2 changes: 2 additions & 0 deletions app/helpers/home_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module HomeHelper
end
2 changes: 2 additions & 0 deletions app/helpers/projects_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module ProjectsHelper
end
4 changes: 4 additions & 0 deletions app/models/project.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
class Project < ActiveRecord::Base
has_and_belongs_to_many :users
validates :name, :presence => true
end
11 changes: 11 additions & 0 deletions app/models/user.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class User < ActiveRecord::Base
has_and_belongs_to_many :projects

# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable

# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :name, :url_image
end
12 changes: 12 additions & 0 deletions app/views/devise/confirmations/new.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<h2>Resend confirmation instructions</h2>

<%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>
<%= devise_error_messages! %>

<p><%= f.label :email %><br />
<%= f.email_field :email %></p>

<p><%= f.submit "Resend confirmation instructions" %></p>
<% end %>

<%= render :partial => "devise/shared/links" %>
5 changes: 5 additions & 0 deletions app/views/devise/mailer/confirmation_instructions.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<p>Welcome <%= @resource.email %>!</p>

<p>You can confirm your account through the link below:</p>

<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
8 changes: 8 additions & 0 deletions app/views/devise/mailer/reset_password_instructions.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<p>Hello <%= @resource.email %>!</p>

<p>Someone has requested a link to change your password, and you can do this through the link below.</p>

<p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>

<p>If you didn't request this, please ignore this email.</p>
<p>Your password won't change until you access the link above and create a new one.</p>
7 changes: 7 additions & 0 deletions app/views/devise/mailer/unlock_instructions.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<p>Hello <%= @resource.email %>!</p>

<p>Your account has been locked due to an excessive amount of unsuccessful sign in attempts.</p>

<p>Click the link below to unlock your account:</p>

<p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
16 changes: 16 additions & 0 deletions app/views/devise/passwords/edit.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<h2>Change your password</h2>

<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
<%= devise_error_messages! %>
<%= f.hidden_field :reset_password_token %>

<p><%= f.label :password, "New password" %><br />
<%= f.password_field :password %></p>

<p><%= f.label :password_confirmation, "Confirm new password" %><br />
<%= f.password_field :password_confirmation %></p>

<p><%= f.submit "Change my password" %></p>
<% end %>

<%= render :partial => "devise/shared/links" %>
12 changes: 12 additions & 0 deletions app/views/devise/passwords/new.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<h2>Forgot your password?</h2>

<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
<%= devise_error_messages! %>

<p><%= f.label :email %><br />
<%= f.email_field :email %></p>

<p><%= f.submit "Send me reset password instructions" %></p>
<% end %>

<%= render :partial => "devise/shared/links" %>
31 changes: 31 additions & 0 deletions app/views/devise/registrations/edit.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<h2>Edit <%= resource_name.to_s.humanize %></h2>

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
<%= devise_error_messages! %>

<p><%= f.label :name %><br />
<%= f.text_field :name %></p>

<p><%= f.label :email %><br />
<%= f.email_field :email %></p>

<p><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
<%= f.password_field :password %></p>

<p><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></p>

<p><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
<%= f.password_field :current_password %></p>

<p><%= f.label :url_image %><br />
<%= f.text_field :url_image %></p>

<p><%= f.submit "Update" %></p>
<% end %>

<h3>Cancel my account</h3>

<p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>.</p>

<%= link_to "Back", :back %>
24 changes: 24 additions & 0 deletions app/views/devise/registrations/new.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<h2>Sign up</h2>

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>

<p><%= f.label :name %><br />
<%= f.text_field :name %></p>

<p><%= f.label :email %><br />
<%= f.email_field :email %></p>

<p><%= f.label :password %><br />
<%= f.password_field :password %></p>

<p><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></p>

<p><%= f.label :url_image %><br />
<%= f.text_field :url_image %></p>

<p><%= f.submit "Sign up" %></p>
<% end %>

<%= render :partial => "devise/shared/links" %>
20 changes: 20 additions & 0 deletions app/views/devise/sessions/new.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<h2>Sign in</h2>

<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>

<%= flash[:alert] %>

<p><%= f.label :email %><br />
<%= f.email_field :email %></p>

<p><%= f.label :password %><br />
<%= f.password_field :password %></p>

<% if devise_mapping.rememberable? -%>
<p><%= f.check_box :remember_me %> <%= f.label :remember_me %></p>
<% end -%>

<p><%= f.submit "Sign in" %></p>
<% end %>

<%= render :partial => "devise/shared/links" %>
25 changes: 25 additions & 0 deletions app/views/devise/shared/_links.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<%- if controller_name != 'sessions' %>
<%= link_to "Sign in", new_session_path(resource_name) %><br />
<% end -%>

<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
<%= link_to "Sign up", new_registration_path(resource_name) %><br />
<% end -%>

<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
<%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
<% end -%>

<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
<%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
<% end -%>

<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
<%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
<% end -%>

<%- if devise_mapping.omniauthable? %>
<%- resource_class.omniauth_providers.each do |provider| %>
<%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %><br />
<% end -%>
<% end -%>
12 changes: 12 additions & 0 deletions app/views/devise/unlocks/new.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<h2>Resend unlock instructions</h2>

<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
<%= devise_error_messages! %>

<p><%= f.label :email %><br />
<%= f.email_field :email %></p>

<p><%= f.submit "Resend unlock instructions" %></p>
<% end %>

<%= render :partial => "devise/shared/links" %>
Loading

0 comments on commit 0a9b976

Please sign in to comment.