Ultimate Guide to Building a Web Application with Play and Scala

Learn the fundamentals of building a website by writing a complete subscriber app with Play Framework and Scala.

Learn the fundamentals of building a web application using Play Framework and Scala by creating a complete subscriber app from start to finish.

The project, covered in the guide, is designed to provide the essential components of a website which you can expand to build your own application.

Topics covered:

  • Creating a project with SBT and importing it into IDE.
  • Version control integration.
  • Application structure, secret keys, and session cookies.
  • User interface implementation with jQuery and Bootstrap.
  • Application utilities: logging, database integration, password hashing, random generator, server environment, time and date formatting, email integration.
  • Terminal commands: starting and stopping application and database.
  • Securely initializing a super administrator.
  • User authentication.
  • Secure access.
  • Creating and resetting passwords.
  • Collecting and displaying subscriber data.
  • Creating, editing, and authenticating users.
  • Scheduling an automated system task.
  • Error handling with user-friendly pages.
  • Application maintenance: displaying version information and creating a sitemap.
  • Library updates: keeping the language, framework, and library dependencies current.

How to Use This Guide

If you prefer to follow the guide step-by-step and build a project from scratch, proceed to Play/Scala Project.

If you prefer to see the project all at once and use the guide as a reference, please see the instructions for cloning the LineDrop’s Play/Scala Web Application on our GitHub repository:

LineDrop Play/Scala Web Application

Development Environment

Please follow the Practical Guide to Creating Play/Scala Development Environment to download and install the software tools required to build the project. All tools are available for free.

  • Java Development Kit
  • Simple Build Tool
  • Git
  • MongoDB Community Edition
  • MongoDB Compass
  • IntelliJ IDEA
  • Google Chrome

We use Macs to write our software, so all installation instructions are written for MacOS and all command line instructions are intended for Linux/Unix terminal. If you prefer to use Windows, please adjust accordingly.

Next: Play/Scala Project