Our project is a web based to-do list. The purpose of the site is to allow user to keep track of and manage to-do items. The site allow users to do the following:
- Creating to-do lists.
- Creating to-do items inside a to-do list.
- Sort to-do items and lists.
- Grouping to-do items, by adding sub-items to to-do items.
- Create user accounts by using Facebook SDK and Laravels user authentication.
- Sharing to-do lists with other users.
- Get realtime updates by using websocket
We are using Laravel4 as server framework and Backbone on the client side. The communication between server and client is done using web sockets in JSON format. We are using web sockets instead of polling and in other cases there it is a benefit over ajax. However, some data communication is still made by traditional ajax request. Authentication is made with an integrated authentication system provided with laravel and we are using Facebooks SDK authentication as an option. We are using phpunit and Codeception (whith Selenium) for unit- and acceptance testning.
- Laravel4 - Backend framework
- Ratchet - PHP library for websocket
- Backbone - Frontend framework
- Underscore - Template manager. Required by Backbone
- jQuery - Required by Backbone
- Bower - JavaScript package manager
- Grunt - JavaScript Task Runner
- Composer - PHP package manager
- PHPunit - Unit-tester for PHP
- Codeception - PHP testing framework (We are only using this for acceptance testning)
- Selenium - Browser automation
ODOT is open-sourced software licensed under the MIT License.