This is the assignment for Homework 2.3 of the M101J MongoDB online course translated to Scala and Play Framework.
This project uses the official MongoDB Scala driver Casbah.
The integration of Casbah into Play is done by the MongoDB Salat Plugin for the Play Framework. We don't use the ORM features of this plugin, only the connection management.
As in the original Java + Spark version of the assignment, your task is to implement the missing data access logic
in MongoUserDAO
. Look for occurences of XXX WORK HERE
in app/models/user.scala.
In MongoUserDAO
, you access the MongoCollection
through the users
private field.
You still need running mongod with the data provided by the official course's page. The only difference is the blog's web application.
After you're done with the implmentation you need to run the application and the validation script (validate.py
) that
comes with the original version of this assignment.
The validation script expects the application to be running at localhost:8082
:
> play run 8082
Then run the validation script in a different terminal. If you implemented the required features correctly, the script will provide a validation code that you will need for the assignment's submission form.
This project uses the Cake Pattern to glue together the application - specifically the BlogController
to the DAOs.
You don't actually need to understand the whole application, although I encourage you to dig into it.
This project is provided "as is". It has not been properly tested and there is no official support for it provided by anyone (especially not by 10gen). It is intended for M101J's students interested in Scala and it will most likely be harder to pass the course using this instead of the official Java + Spark version.
Last but not least: Do not publicly disclose solutions to the course's homeworks.