Game for learning how to code.
Find a file
phoenixeliot 8496343a02 Improve student account recovery
This adds the ability to verify email addresses of a user, so we know they have access to the email address on their account.

Until a user has verified their email address, any teacher of a class they're in can reset their password for them via the Teacher Dashboard. When a user's email address is verified, a teacher may trigger a password recovery email to be sent to the student.

Verification links are valid forever, until the user changes the email address they have on file. They are created using a timestamp, with a sha256 of timestamp+salt+userID+email. Currently the hash value is rather long, could be shorter.

Squashed commit messages:

Add server endpoints for verifying email address

Add server endpoints for verifying email address (pt 2)

Add Server+Client endpoint for sending verification email

Add client view for verification links

Add Edit Student Modal for resetting passwords

Add specs for EditStudentModal

Tweak method name in EditStudentModal

Add edit student button to TeacherClassView

Fix up frontend for teacher password resetting

Add middleware for teacher password resetting

Improve button UX in EditStudentModal

Add JoinClassModal

Add welcome emails, use broad name

Use email without domain as fallback instead of full email

Fetch user on edit student modal open

Don't allow password reset if student email is verified

Set role to student on user signup with classCode

Tweak interface for joinClassModal

Add button to request verification email for yourself

Fix verify email template ID

Move text to en.coffee

Minor tweaks

Fix code review comments

Fix some tests, disable a broken one

Fix misc tests

Fix more tests

Refactor recovery email sending to auth

Fix overbroad sass

Add options to refactored recovery email function

Rename getByCode to fetchByCode

Fix error message

Fix up error handling in users middleware

Use .get instead of .toObject

Use findById

Fix more code review comments

Disable still-broken test
2016-05-24 14:07:28 -07:00
app Improve student account recovery 2016-05-24 14:07:28 -07:00
bin Add Mongo 3.2 to list of allowed versions for running database 2016-01-11 11:18:14 -08:00
headless_client Implement headless verifier; fix headless client 2016-04-12 19:34:05 -07:00
scripts Update inbound lead importing 2016-05-19 14:08:01 -07:00
server Improve student account recovery 2016-05-24 14:07:28 -07:00
spec Improve student account recovery 2016-05-24 14:07:28 -07:00
test Improve student account recovery 2016-05-24 14:07:28 -07:00
vendor Update Vagrant setup scripts 2016-05-12 09:46:34 -07:00
.gitignore Handle a couple errors I saw in the logs 2016-05-08 10:05:26 -07:00
.npmignore Ignore Dockerfile and add single core mode 2015-09-09 23:11:11 -04:00
.travis.yml Extend wait time for travis client testing 2016-01-13 14:02:51 -08:00
bower.json Fully remove Clojure and Io. Use new Aether 0.5.0. 2016-05-24 12:00:04 -07:00
config.coffee Fully remove Clojure and Io. Use new Aether 0.5.0. 2016-05-24 12:00:04 -07:00
CONTRIBUTING.md Revert "Revert "Connect over HTTPS"" 2015-03-01 16:16:25 +00:00
headless_client.coffee Implement headless verifier; fix headless client 2016-04-12 19:34:05 -07:00
index.js Have index.js check node version is >= 4 before continuing, for #3495 2016-03-17 12:48:07 -07:00
karma.conf.js Fixed running tests with karma. 2015-02-05 13:58:07 -08:00
LICENSE Updated license's year to 2015 2015-03-05 16:13:17 +00:00
multicore.coffee Move worker died to eng channel 2016-05-11 05:57:04 -07:00
nodemon.json Update Vagrant setup scripts 2016-05-12 09:46:34 -07:00
package.json Fully remove Clojure and Io. Use new Aether 0.5.0. 2016-05-24 12:00:04 -07:00
README.md Update a couple team avatar and descriptions 2015-11-10 15:21:34 -08:00
server.coffee Switch from jasmine-node to jasmine, run server tests on a single process 2015-12-09 14:27:10 -08:00
server_config.coffee Send teacher contact form inquires to schools support email 2016-05-12 13:22:28 -07:00
server_setup.coffee Handle ua.Version not having a split function, log it 2016-05-16 10:42:13 -07:00
sublime-project.json Implements the SPADE logger into the SpellView 2016-04-26 09:56:30 -07:00
Vagrantfile organize Vagrant scripts 2016-05-18 09:48:13 +07:00
verifier.coffee Improve verifier. 2016-04-13 16:41:16 -07:00

#CodeCombat

[![Build Status](https://travis-ci.org/codecombat/codecombat.png?branch=master)](https://travis-ci.org/codecombat/codecombat)

CodeCombat is a multiplayer programming game for learning how to code. See the Archmage (coder) developer wiki for a dev setup guide, extensive documentation, and much more. Every new person that wants to start contributing the project coding should start there.

It's both a startup and a community project, completely open source under the MIT and Creative Commons licenses. It's the largest open source CoffeeScript project by lines of code, and since it's a game (with really cool tech), it's really fun to hack on. Join us in teaching the world to code! Your contribution will go on to show millions of players how cool programming can be.

Getting Started

We've made it easy to fork the project, run a simple script that'll install all the dependencies, and get a local copy of CodeCombat running right away on Mac, Linux, Windows, or Vagrant. See the docs for details.

Getting In Touch

Whether you're novice or pro, the CodeCombat team is ready to help you implement your ideas. Reach out on our forum, our issue tracker, or our developer chat room on Slack, or see the docs for more on how to contribute.

Slack Status

License

MIT for the code, and CC-BY for the art and music. Please also sign the CodeCombat contributor license agreement so we can accept your pull requests. It is easy.

Join Us!

Nick Winter George Saines Scott Erickson Matt Lott Catherine Weresow Maka Gradin Rob Blanckaert Josh Callebaut Michael Schmatz Josh Lee Alex Cotsarelis Alex Crooks Alexandru Caciulescu Andreas Linn Andrew Witcher Axandre Oge Bang Honam Benjamin Stern Brad Dickason Carlos Maia Chloe Fan Dan Ristic Danny Whittaker David Liu David Pendray Deepak1556 Derek Wong Dominik Kundel Glen De Cauwsemaecker Ian Li Jeremy Arns Joachim Brehmer Jose Antonini Katharine Chan Ken Stanley Kevin Holland Laura Watiker Michael Heasell Michael Polyak Mischa Lewis-Norelle Nathan Gosset Oleg Ulyanicky Paul Buser Pavel Konstantynov Popey Gilbert Prabhsimran Baweja Rachel Xiang Rebecca Saines Robert Moreton Ronnie Cheng Ruben Vereecken Russ Fan Shiying Zheng Sébastien Moratinos Thanish Muhammed Tom Steinbrecher Yang Shun Tay Zach Martin