No description
Find a file
2015-08-19 11:14:08 +02:00
api expiration date should also be encrypted on get; 2015-08-18 21:53:52 +02:00
app Merge branch 'master' into evaluation 2015-08-19 11:14:08 +02:00
config update ember-moment 2015-08-01 11:41:41 +02:00
public move api into own directory 2015-07-31 23:26:46 +02:00
server rewritten api using Slim Framework 2015-08-01 18:42:48 +02:00
tests some more tests about showing correct dates and times and handeling 2015-08-01 23:54:07 +02:00
.bowerrc first steps to ember-cli 2014-10-30 21:44:22 +01:00
.editorconfig update ember-cli to 1.2.1 and ember to 1.10 2015-04-02 12:56:55 +02:00
.ember-cli first steps to ember-cli 2014-10-30 21:44:22 +01:00
.gitignore Fix: .gitignore where to strict for codeception 2015-08-01 21:30:14 +02:00
.jshintrc upgrade ember-cli to 0.1.7 2015-01-18 18:06:47 +01:00
.travis.yml but now ... 2015-08-01 21:12:39 +02:00
.watchmanconfig Update: ember 1.12 and ember-cli 0.2.7 2015-07-02 15:54:09 +02:00
bower.json update ember-moment 2015-08-01 11:41:41 +02:00
Brocfile.js do not watch /api for changes 2015-08-01 22:14:26 +02:00
CONTRIBUTING.md Starting to move to Ember App Kit 2014-07-06 17:37:54 +02:00
LICENSE Starting to move to Ember App Kit 2014-07-06 17:37:54 +02:00
package.json subresource integrity attribute 2015-08-06 16:48:40 +02:00
README.md Update README.md 2015-08-01 22:17:32 +02:00
testem.json Update: ember 1.12 and ember-cli 0.2.7 2015-07-02 15:54:09 +02:00

croodle

Build Status

Croodle is a web application to schedule a date or to do a poll on a general topics. Stored content data like title and description, number and labels of options and available answers and names of users and there selections is encrypted/decrypted in the browser using 256 bits AES.

This is an alpha version. Changes could brake backward compatibility. Also it is not well tested and some features are missing. It is not ment for productive use yet.

Croodle is inspired by ZeroBin and of course by Doodle.

Security notice

As any other web application based end-to-end encryption Croodle could be attacked by an injection of maluse code on serverside or threw a man-in-the-middle attack. If an attacker could inject for example JavaScript, he would be able to read decrypted content in the browser ot the encryption key used and send it to a server under his controll.

Therefore you have to

  • use an encrypted connection to the server hosting Croodle. In most use cases this will be an httpS connection. We strongly recomend people hosting Croodle to force an encrypted connection to Croodle.
  • trust the server.

You could check for an attack like this by using an development tool for your browser and check if unencrypted data of your poll or the encryption key is send over network or is stored in a cookie or the localStorage of your browser for later send.

Requirements

Croodle is designed to have as few as possible requirements on the server it is running on. Croodle runs on almost every web space with PHP >= 5.3. Croodle stores the data in textfiles, so there is no need for a database server like mySQL.

Due to security reasons you should have SSL encryption enabled and provide a valid certificate.

Build process and installation

Production builds are provided here.

If you like to build yourself you have to install node.js package management tool npm, bower, ember-cli and composer before.

git clone git@github.com:jelhan/croodle.git
cd croodle
npm install
bower install
cd api/ && composer install && cd ..
ember build --prod

Afterwards copy all files in /dist folder to your werbserver.

Make sure that data/ folder is writeable by the web server.

You should consider to force an SSL encrypted connection.

Running tests

Ember

Prefered way is to run tests against PhantomJS, Chrome and Firefox by ember test --server. Results are reported in command-line and browser. Files are watched for changes.

If you only like to run tests ones against PhantomJS in command-line you could use ember test. This is also used in CI.

Api

Api tests are provided by Codeception. To run them change current directory to /api and execute ./vendor/bin/codecept run.

To run tests you need PHP >= 5.4.