-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 8d1b820
Showing
86 changed files
with
1,642 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# See https://help.github.com/articles/ignoring-files for more about ignoring files. | ||
# | ||
# If you find yourself ignoring temporary files generated by your text editor | ||
# or operating system, you probably want to add a global ignore instead: | ||
# git config --global core.excludesfile '~/.gitignore_global' | ||
|
||
# Ignore bundler config. | ||
/.bundle | ||
|
||
# Ignore the default SQLite database. | ||
/db/*.sqlite3 | ||
/db/*.sqlite3-journal | ||
|
||
# Ignore all logfiles and tempfiles. | ||
/log/*.log | ||
/tmp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
source 'https://rubygems.org' | ||
|
||
gem 'backbone-on-rails' | ||
gem 'bcrypt' | ||
gem 'bootstrap-sass' | ||
gem 'coffee-rails', '~> 4.0.0' | ||
gem 'font-awesome-rails' | ||
gem 'jquery-rails' | ||
gem 'jquery-ui-rails' | ||
gem 'jbuilder', '~> 1.2' | ||
gem 'rails', '4.0.2' | ||
gem 'sass-rails', '~> 4.0.0' | ||
gem 'sqlite3' | ||
gem 'uglifier', '>= 1.3.0' | ||
|
||
group :doc do | ||
gem 'sdoc', require: false | ||
end | ||
|
||
group :development do | ||
gem 'annotate' | ||
gem 'better_errors' | ||
gem 'binding_of_caller' | ||
gem 'pry-rails' | ||
gem 'debugger' | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
GEM | ||
remote: https://rubygems.org/ | ||
specs: | ||
actionmailer (4.0.2) | ||
actionpack (= 4.0.2) | ||
mail (~> 2.5.4) | ||
actionpack (4.0.2) | ||
activesupport (= 4.0.2) | ||
builder (~> 3.1.0) | ||
erubis (~> 2.7.0) | ||
rack (~> 1.5.2) | ||
rack-test (~> 0.6.2) | ||
activemodel (4.0.2) | ||
activesupport (= 4.0.2) | ||
builder (~> 3.1.0) | ||
activerecord (4.0.2) | ||
activemodel (= 4.0.2) | ||
activerecord-deprecated_finders (~> 1.0.2) | ||
activesupport (= 4.0.2) | ||
arel (~> 4.0.0) | ||
activerecord-deprecated_finders (1.0.3) | ||
activeresource (4.0.0) | ||
activemodel (~> 4.0) | ||
activesupport (~> 4.0) | ||
rails-observers (~> 0.1.1) | ||
activesupport (4.0.2) | ||
i18n (~> 0.6, >= 0.6.4) | ||
minitest (~> 4.2) | ||
multi_json (~> 1.3) | ||
thread_safe (~> 0.1) | ||
tzinfo (~> 0.3.37) | ||
annotate (2.6.5) | ||
activerecord (>= 2.3.0) | ||
rake (>= 0.8.7) | ||
arel (4.0.2) | ||
backbone-on-rails (1.1.1.0) | ||
actionmailer | ||
actionpack | ||
activemodel | ||
activeresource | ||
eco | ||
ejs | ||
jquery-rails | ||
railties | ||
bcrypt (3.1.7) | ||
better_errors (1.1.0) | ||
coderay (>= 1.0.0) | ||
erubis (>= 2.6.6) | ||
binding_of_caller (0.7.2) | ||
debug_inspector (>= 0.0.1) | ||
bootstrap-sass (3.1.1.1) | ||
sass (~> 3.2) | ||
builder (3.1.4) | ||
coderay (1.1.0) | ||
coffee-rails (4.0.1) | ||
coffee-script (>= 2.2.0) | ||
railties (>= 4.0.0, < 5.0) | ||
coffee-script (2.2.0) | ||
coffee-script-source | ||
execjs | ||
coffee-script-source (1.7.0) | ||
columnize (0.8.9) | ||
debug_inspector (0.0.2) | ||
debugger (1.6.8) | ||
columnize (>= 0.3.1) | ||
debugger-linecache (~> 1.2.0) | ||
debugger-ruby_core_source (~> 1.3.5) | ||
debugger-linecache (1.2.0) | ||
debugger-ruby_core_source (1.3.5) | ||
eco (1.0.0) | ||
coffee-script | ||
eco-source | ||
execjs | ||
eco-source (1.1.0.rc.1) | ||
ejs (1.1.1) | ||
erubis (2.7.0) | ||
execjs (2.2.1) | ||
font-awesome-rails (4.1.0.0) | ||
railties (>= 3.2, < 5.0) | ||
hike (1.2.3) | ||
i18n (0.6.9) | ||
jbuilder (1.5.3) | ||
activesupport (>= 3.0.0) | ||
multi_json (>= 1.2.0) | ||
jquery-rails (3.1.1) | ||
railties (>= 3.0, < 5.0) | ||
thor (>= 0.14, < 2.0) | ||
jquery-ui-rails (4.0.3) | ||
jquery-rails | ||
railties (>= 3.1.0) | ||
json (1.8.1) | ||
mail (2.5.4) | ||
mime-types (~> 1.16) | ||
treetop (~> 1.4.8) | ||
method_source (0.8.2) | ||
mime-types (1.25.1) | ||
minitest (4.7.5) | ||
multi_json (1.10.1) | ||
polyglot (0.3.5) | ||
pry (0.10.0) | ||
coderay (~> 1.1.0) | ||
method_source (~> 0.8.1) | ||
slop (~> 3.4) | ||
pry-rails (0.3.2) | ||
pry (>= 0.9.10) | ||
rack (1.5.2) | ||
rack-test (0.6.2) | ||
rack (>= 1.0) | ||
rails (4.0.2) | ||
actionmailer (= 4.0.2) | ||
actionpack (= 4.0.2) | ||
activerecord (= 4.0.2) | ||
activesupport (= 4.0.2) | ||
bundler (>= 1.3.0, < 2.0) | ||
railties (= 4.0.2) | ||
sprockets-rails (~> 2.0.0) | ||
rails-observers (0.1.2) | ||
activemodel (~> 4.0) | ||
railties (4.0.2) | ||
actionpack (= 4.0.2) | ||
activesupport (= 4.0.2) | ||
rake (>= 0.8.7) | ||
thor (>= 0.18.1, < 2.0) | ||
rake (10.3.2) | ||
rdoc (4.1.1) | ||
json (~> 1.4) | ||
sass (3.2.19) | ||
sass-rails (4.0.3) | ||
railties (>= 4.0.0, < 5.0) | ||
sass (~> 3.2.0) | ||
sprockets (~> 2.8, <= 2.11.0) | ||
sprockets-rails (~> 2.0) | ||
sdoc (0.4.0) | ||
json (~> 1.8) | ||
rdoc (~> 4.0, < 5.0) | ||
slop (3.5.0) | ||
sprockets (2.11.0) | ||
hike (~> 1.2) | ||
multi_json (~> 1.0) | ||
rack (~> 1.0) | ||
tilt (~> 1.1, != 1.3.0) | ||
sprockets-rails (2.0.1) | ||
actionpack (>= 3.0) | ||
activesupport (>= 3.0) | ||
sprockets (~> 2.8) | ||
sqlite3 (1.3.9) | ||
thor (0.19.1) | ||
thread_safe (0.3.4) | ||
tilt (1.4.1) | ||
treetop (1.4.15) | ||
polyglot | ||
polyglot (>= 0.3.1) | ||
tzinfo (0.3.39) | ||
uglifier (2.5.1) | ||
execjs (>= 0.3.0) | ||
json (>= 1.8.0) | ||
|
||
PLATFORMS | ||
ruby | ||
|
||
DEPENDENCIES | ||
annotate | ||
backbone-on-rails | ||
bcrypt | ||
better_errors | ||
binding_of_caller | ||
bootstrap-sass | ||
coffee-rails (~> 4.0.0) | ||
debugger | ||
font-awesome-rails | ||
jbuilder (~> 1.2) | ||
jquery-rails | ||
jquery-ui-rails | ||
pry-rails | ||
rails (= 4.0.2) | ||
sass-rails (~> 4.0.0) | ||
sdoc | ||
sqlite3 | ||
uglifier (>= 1.3.0) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# Trello project! | ||
|
||
Over the next few days, you will build a clone of [Trello](https://trello.com/). | ||
|
||
The intention of this project is to practice building something a bit bigger on | ||
your own in preparation for the final project. This means that these | ||
instructions are intentionally vague. | ||
|
||
Below you will find a both terse and detailed instructions. We challenge you to | ||
attempt the project using only the terse instructions, but the detailed | ||
instructions are also there as a safety net :gift:. | ||
|
||
This project provides authentication and a Rails API so you can focus on | ||
Backbone, Bootstrap and jQuery UI. | ||
|
||
Take some time to browse the code provided for you. In this project, you'll | ||
deal with the models in the following order: `Boards`, `Lists`, `Cards`, | ||
`TodoItems`, and `CardAssignments`. `Lists` and `Cards` have an `ord` attribute | ||
that corresponds to the order they're shown in. By the end of this project, | ||
you'll be able to edit their order by dragging and dropping them. | ||
|
||
## Terse instructions | ||
|
||
Make the show, index, and new page for boards. Next, add lists to the boards. | ||
Then add cards to the lists. Then add drag and drop functionality. Then make | ||
that card modal view. Congratulations, you just made Trello. :beers: | ||
|
||
## Detailed instructions | ||
|
||
### Phase I: Boards Index | ||
|
||
* Start up Backbone. Remember to check that you're getting that annoying "Hello | ||
from Backbone" alert. | ||
* Make your Backbone model and collection for boards. | ||
* Make a trello.js file in your javascripts folder. In it, initialize Backbone. | ||
* Test out your Backbone model: if you use its `save` method, it should save | ||
the model to the database. | ||
* Build a `BoardsIndex` view class. Its `render` function should put an | ||
unordered list of our boards on the page. | ||
* Add a Backbone router: map "/" to the `BoardsIndex` class. At this point, you | ||
should be able to see all your boards on your index page. | ||
* Add a new board view class, so that you can create boards. | ||
|
||
### Phase II: Board Show and Lists | ||
|
||
* On your index page, give every board a link to its show page. | ||
* Make the board show page. Add a Backbone route to it. For the moment, just | ||
have a board's show page contain the name of the board and a list of its lists. | ||
You can just display a list's name, given that at the moment it has no other | ||
content. | ||
* Remember to display the lists in order of their rank. You might want to | ||
overwrite the `comparator` method of the `lists` collection. | ||
* When the user creates a board, it should redirect them to the board's show | ||
page. You can use the router's `navigate` method for this. | ||
* Add the ability to create lists, via a new list view. | ||
* Add the ability to add board members. You should be able to type in a email | ||
and the website will add that person, or complain that they don't exist. | ||
* Add a button to delete the board. | ||
|
||
### Phase III: Cards (finally!) | ||
|
||
* Make your board show page also show the cards for each list. You'll want to | ||
do this by adding functionality to the BoardShow.js render method. Again, | ||
remember to order them by rank, by overwriting the default comparator method. | ||
* Make the lists appear next to each other by making each inside a div which you | ||
give the CSS setting `float: left`. | ||
* Add the ability to create and delete cards for each list. *TODO: elaborate on | ||
how to do this in Backbone.* The card deletion should be accomplished by a | ||
button for each card which only appears when you're hovering over the card. Use | ||
the JQuery hover event to get this effect. | ||
|
||
### Phase IV: Javascript prettiness! | ||
|
||
* The whole fun of Trello is the dragging and dropping of the to-do items and | ||
lists. We'll be using jQuery UI Sortable to accomplish this. | ||
[Read this example here](http://stackoverflow.com/a/15635201). | ||
* First get that working on the client, and then send the result back to the | ||
server. | ||
* To make it prettier, you can give the cards a `.dragged` CSS style which | ||
rotates them slightly and gives them a shadow while they're being dragged. | ||
* While we're making things pretty, change your forms so that if you enter | ||
invalid input, for example by not giving a card a name before creating it, the | ||
input element flashes. Use the jQuery UI | ||
[Highlight effect](https://api.jqueryui.com/highlight-effect/) for this. | ||
* Also, go back to your Board show page. We want to make it harder to delete | ||
your board by accident. So when you click the 'delete' button, a | ||
[modal](http://getbootstrap.com/javascript/#modals) should pop down asking if | ||
you're sure you want to delete the board. Make this modal by displaying two | ||
divs: | ||
* The first div is to grey out the rest of the window. Just make it have a | ||
fixed height and width of 100%, and give it a semitransparent black color. | ||
* On top of that div, make a centered div which has a button to confirm the | ||
deletion of the board. | ||
* I know that Bootstrap has modals built in, but build this from scratch | ||
anyway. | ||
* You can get advice on this part of the process from | ||
[this tutorial](http://www.jacklmoore.com/notes/jquery-modal-tutorial/). | ||
|
||
### Phase V: Card modal view | ||
|
||
* We want to make a modal view to focus on a particular card. Refer to the | ||
advice included in part II on making modals. | ||
* Within the card modal, we want to show to-do items. | ||
* To-do items can be created and deleted, and each has a checkbox whose state | ||
should be saved to the server whenever it is changed. | ||
* Also, we want assigned users. | ||
* Cards have an arbitrary number of assigned users. Note that you only want | ||
to give the option of adding users who haven't already been added. | ||
|
||
### Bonus round | ||
|
||
* Add Javascript prettiness everywhere. Make modals to confirm that you | ||
actually want to delete things. Think of more pretty things to do, then do | ||
them and add them to these instructions. | ||
|
||
|
||
### Planning | ||
|
||
 | ||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# 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__) | ||
|
||
TrelloClone::Application.load_tasks |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
// This is a manifest file that'll be compiled into application.js, which will include all the files | ||
// listed below. | ||
// | ||
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, | ||
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. | ||
// | ||
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the | ||
// compiled file. | ||
// | ||
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details | ||
// about supported directives. | ||
// | ||
//= require jquery | ||
//= require jquery_ujs | ||
//= require jquery.ui.all | ||
//= require underscore | ||
//= require backbone | ||
//= require bootstrap | ||
//= require trello_clone | ||
//= require_tree ../templates | ||
//= require_tree ./utils | ||
//= require_tree ./models | ||
//= require_tree ./collections | ||
//= require_tree ./views | ||
//= require_tree ./routers | ||
//= require_tree . |
Empty file.
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
window.TrelloClone = { | ||
Models: {}, | ||
Collections: {}, | ||
Views: {}, | ||
Routers: {}, | ||
initialize: function() { | ||
} | ||
}; |
Oops, something went wrong.