This repository contains a Scala 3 project that implements a user backend.. The project is designed to demonstrate the capabilities of Scala 3 and sbt in building and managing Scala applications.
- Install sbt: Follow the instructions on the official sbt website.
- Install Scala: Scala 3 can be installed from here.
- Visual Studio Code (optional): For an enhanced coding experience, install VSCode along with the Metals extension.
For the user backend kata, the following requirements must be met:
-
Users must register using an email in the format
user@domain
and a password that meets at least the following criteria:- 6 characters
- One uppercase letter
- One lowercase letter
- One number
- One underscore (
_
)
-
User passwords must be encrypted before being stored in the system to ensure the protection of sensitive data.
-
Each user must be uniquely identifiable through an ID generated by the system.
-
The system must prevent the creation of multiple accounts with the same email. If a user attempts to register with an existing email, an error should be notified, and registration should not be allowed.
-
Users must have the ability to change their passwords. However, the new password must not be identical to the previous one.
To compile the project, use the following sbt command:
sbt compile
To run the project, use the following sbt command:
sbt run