Canto <img src=“https://travis-ci.org/danascheider/canto.svg?branch=pure-sinatra” alt=“Build Status” /> <img src=“https://codeclimate.com/github/danascheider/canto.png” /> <img src=“https://codeclimate.com/github/danascheider/canto/coverage.png” /> <img src=“https://gemnasium.com/danascheider/canto.svg” alt=“Dependency Status” /> ¶ ↑
Canto is a web-based to-do list and task management app for opera singers. Eventually, this app will provide a variety of functionality tailored to the specific needs of opera singers. I am developing this app primarily for myself, and so will be focusing on the functionality that will be most immediately useful to me personally. At this point in development, that functionality is the to-do list.
Current development is taking place on the pure-sinatra and not_passing branches and is focused exclusively on back-end functionality. As the name suggests, the back end is being developed in Sinatra, with ActiveRecord and SQLite3 handling database functionality. The front end will be added later. The current plan has the front end developed using Backbone.js and Twitter Bootstrap.
Users create tasks and are able to view them as a list or individually. Currently there is no user model, so the app is designed for a single user. Tasks have the following attributes (i.e., columns in the Task table):
-
Title
-
Status:
-
‘new’
-
‘in_progress’
-
‘blocking’
-
‘complete’
-
-
Priority:
-
‘urgent’
-
‘high’
-
‘normal’
-
‘low’
-
‘not_important’
-
-
Description
-
Deadline
-
Created At
-
Updated At
Tasks are ordered by the position column, which is configured with the acts_like_list gem to re-order the list when a given task changes position.
This app is being developed using a rigorous test- and behavior-driven approach, meaning test-first, agile work-flows. Problems implementing Travis CI are causing builds to fail, but I do not commit non-passing code to the pure-sinatra branch. The full test suite is run each time not_passing is merged.
Refactoring both app code and tests is a major part of the workflow on this project. Everything should stay as DRY as possible.
Version 0.0.0; no stable release available.