The project is written using AngularJS (1.5.0) and Meteor (1.2.1). Tests are written using Jasmine (2.3).
Relevant Documentation:
- AngularJS
- Meteor
- Jasmine
- Guide to using AngularJS with Meteor
- Johnpapa Angular 1 Style Guide
- Git branching model
A current list of all Meteor packages in the project can be found in /.meteor/packages. Version numbers of all packages and dependencies can be found in /.meteor/versions.
Notes:
-
Github pages and information on specific packages can usually be found here.
-
We are using AngularUI Router to handle routing.
-
Testing uses Velocity. Debugging info, etc. can be found here.
-
We are using aldeed:collection2 to handle schemas for the collections.
The following are potential security issues. They shouldn't be a problem in the application's current state, but this should be verified by someone with more web application security experience.
-
See #50.
-
The project uses the meteorhacks:fast-render package, which has some potential security issues.
When the server is run, a user with the following info is created as the default admin user:
email: 'root@openclicker.com'
password: 'password'
The password for this user should be updated immediately (the application will remind you to do this when the user is created). This user cannot be deleted, and cannot have their permissions changed, so there will always be a user account with administrator access.
Emails for verification and password resets are currently printed to the console. There is code in server.js which can be updated with SMTP info to allow emails to be sent.
To install and run the application locally (in development mode, i.e. tests will run etc.):
- Install Meteor.
- Clone this repository.
- Open a cmd window in the root directory containing /.meteor, /client, /server, etc.
- Run the meteor command.
- Open a browser and go to http://localhost:3000.
- Logging in or out does not currently trigger a redirect/reload
- Timer for opening and closing questions is client side, so reloading or leaving the page will leave the question open and it must be closed manually
- Some of the CSS appears to conflict, so some things don't look quite like they are intended to
- There is currently no way to change the email for the root user from within the application, so emails for password resets, etc. will be sent to the default (non-existent as far as we know) address unless it is changed directly in the database
- The group summary page is just a mockup at the moment. The numbers all display as 100 for now.
- Roles are not hierarchical. They are assigned individually.
- The application hasn't been tested with a large number of concurrent users yet
- There is no way for either students or professors to see students' answers