Skip to main content

Backend Server

Tilli is an open-source web-based application focused on game-based social emotional learning experiences for kids. The backend is built with Scala, uses Truffle for compilation, and Redis for database management.

Table of Contents

Prerequisites

Before you begin, ensure you have the following installed:

  • Redis (Version 8.x)
  • SBT (Scala Build Tool)
  • Java Development Kit (JDK)

Installation

Redis Setup

  1. Install Redis Version 8.x

  2. Stop existing Redis server (if running)

    # On Linux
    sudo /etc/init.d/redis-server stop

    # On macOS
    redis-cli shutdown
  3. Backup existing data (optional)

    cd /var/lib/redis/
    cp dump.rdb dump_backup.rdb
  4. Replace Redis data

    cp /path/to/tilli-backend-server/data/dump.rdb /var/lib/redis/
  5. Start Redis server

    # On Linux
    sudo /etc/init.d/redis-server start

    # On macOS
    brew services start redis

Running Locally

Run the server using SBT with the following command structure:

sbt "runMain com.teqbahn.bootstrap.StarterMain local 2553 8093 <ServerIP> <RedisIP>:<RedisPort> <MailId> <MailPassword> <filepath>"

Parameters Explained:

  • local: Server running environment
  • 2553: Pekko Port
  • 8093: HTTP Port
  • <ServerIP>: Your system IP (e.g., 192.0.0.1)
  • <RedisIP>: Redis IP (default: 127.0.0.1)
  • <RedisPort>: Redis Port (default: 6379)
  • <MailId>: Email for notifications
  • <MailPassword>: Email password
  • <filepath>: System filepath for storage

Example:

sbt "runMain com.teqbahn.bootstrap.StarterMain local 2553 8093 192.1.0.1 127.0.0.1:6379 your.email@example.com yourpassword /path/to/storage"

Joining the Tilli Community

We are a vibrant community of learning designers, game designers, developers, and educators passionate about creating innovative social emotional learning experiences for kids. Our goal is to develop inclusive, accountable, and accessible technology services for education.

Support