ScalaGeek – Test your Geek Quotient on Scala


We at Knoldus are pleased to announce the release of ScalaGeek(Beta).

ScalaGeek

ScalaGeek is a community driven database of questions and answers on Scala. The idea is to allow people who are learning Scala to validate their learning and master the language.

ScalaGeek provide the comprehensive style question which needs to be answered in a time bound environment.

As a registered user of ScalaGeek, you could appear in the test and can contribute questions. All the contributed question are approved by the administrators who are Scala evangelists.

ScalaGeek is a product of the internship program run at Knoldus Software, where programmers new to the language develop a product which can be used by the community. The earlier edition of the program resulted in ScalaJobz.com which won the third place at the Typesafe Developer competition. We hope that you enjoy this product as well.

Important Functionality
Below are given the descriptions with screen shots of the important functionality like how to appear in an exam and how to contribute questions.

Appear in scala exam:
To appear for the exam, user will visit “Exams” from menu that will take him to “Available Exams” screen:

Available Exams

User can select exam from the list of exams and can start the exam. With the press of the ‘Start’ link, a new window will appear with the instructions and a “Start Exam” button, as shown in the image:

Instructions

User can press “Start Exam” to see the first question. There are only comprehensive questions available so read through the questions and select the option(s) accordingly. Depending on questions one option or multiple options could be correct. Exam Screen would look like below image:

Exam Started

You can finish the exam any time in between the time slot, or at the completion of time slot exam will stop. In both the cases the result with your score will be displayed as shown in the image below:

Result

The results are also sent to your personal email id which was used to login to ScalaGeek.

Contribute Questions:
Users can contribute questions by visiting ‘Contributions’ from menu and then clicking “Contribute Questions” button. The question form will appear as is shown in the image below:

Contribute Questions

All the contributed question remain in pending status till they are approved by the administrator. Once the question is approved it will start appearing as a question in exams.

High-level design and architecture:
ScalaGeek is built upon the latest Typesafe 2.0.2 stack which includes :

  • Twitter Bootstrap 2.3.2
  • Play 2.1.1
  • Scala 2.10
  • Slick 1.0.1
  • Sbt 0.12.3
  • Postgresql 9.1.9
  • BoneCP
  • org.scalatest
  • org.mockito
  • org.specs2
  • Verified with scalastyle guide (No serious warnings)

The product follows a standard MVC architecture and heavily capitalizes on the Reactive way.

The live application is currently hosted at :  http://www.scalageek.com
(It is on a free instance of Heroku for now, so please be gentle :p)

The Github code for the project would soon be made available at: https://github.com/knoldus/scalageek

Please provide your feedback either at https://github.com/knoldus/scalageek/issues or http://www.scalageek.com/feedback

This entry was posted in Scala. Bookmark the permalink.

5 Responses to ScalaGeek – Test your Geek Quotient on Scala

  1. panpremier says:

    I hope You don’t keep users passwords in plain text, cause i just got my password back in ‘New Registration’ email message

  2. Hi Panpremier,
    Thanks for your comment. The passwords are sent in plain text for the first time for your records. SG database stores them encrypted with java security MD for password encryption and decryption. So nobody except you would know the password. I hope that helps :)

  3. Natural says:

    It will be great to see the source code

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s