Instructions
WASPL - Digital Assessment Platform (Alpha)
Status: Alpha
License: AGPL v3
Technology Stack: Node.js, Vue 3, MongoDB, Docker
๐งญ Table of Contents
-
Overview
-
Features
-
Architecture
-
Getting Started
-
Local Development (no Docker)
-
Docker Usage
-
Development Mode (hot-reload)
-
Production Mode (with NGINX)
-
Available
make
Commands
-
-
-
Environment Variables
-
Quick Setup (Development)
-
Configuration File Structure
-
Production Configuration
-
Security
-
-
Interaction Types
-
Default User
-
Project Structure
-
Contributing
-
License
๐ Overview
WASPL is an open-source digital assessment platform designed to create, manage, and deliver interactive online tests. Built with modern technologies (Node.js, Vue 3, MongoDB, Docker), it provides educators with powerful tools to design rich and flexible testing experiences.
โ ๏ธ Pre-Alpha Version: This software is in active development and not yet ready for production use.
โจ Features
-
Waspleditor: Create tests using 12 interactive question types.
-
WasplTestRunner: Deliver assessments in EXAM or LEARNING mode.
-
Rich interactions: drag-and-drop, clickable images, gap-fills, and more.
-
AI Integration: Automatic scoring and test generation.
-
Internationalization: Supports 6 languages (EN, FR, ES, DE, IT, PT).
-
MongoDB: Stores responses and metadata.
-
Strict ESM: Modern modular imports everywhere.
๐งฑ Architecture
WASPL consists of two main applications:
-
waspleditor
: Admin/editor interface to build tests. -
waspltestrunner
: Interface for test takers.
Both apps use a shared backend and a MongoDB database. Services are orchestrated with Docker.
Full documentation is available at: https://waspl-wiki.wiquid.fr/
๐ Getting Started
๐ง Local Development (no Docker)
-
Clone the repository:
-
Install dependencies:
-
Start MongoDB manually (if needed), then:
Pre-configured .env
files are included with safe default values.
๐ณ Docker Usage
๐งช Development Mode (hot-reload)
Command:
-
Waspleditor: http://localhost:5173
-
WasplTestRunner: http://localhost:5174
Services wait for MongoDB before launching.
๐ Production Mode (with NGINX)
Command:
-
Single entry point: http://localhost/
-
/editor/
for the editor -
/runner/
for test-taking
-
NGINX handles redirection, security headers, and gzip compression.
โ๏ธ Available make
Commands
Command | Description |
---|---|
make dev |
Start all services in dev mode |
make prod |
Start all services in production mode |
make down |
Stop and remove containers |
make reset-db |
Remove MongoDB local data |
make reset-all |
Remove all containers, data and Docker images |
โ๏ธ Environment Variables
๐ Quick Setup (Development)
Everything works out of the box after cloning:
๐ Configuration File Structure
File | Included | Description |
---|---|---|
.env |
โ Yes | Base development configuration |
.env.docker |
โ Yes | Docker-specific configuration |
.env.template |
โ Yes | Example with placeholders |
.env.local |
โ No | Local custom variables (ignored) |
.env.production |
โ No | Sensitive production configuration |
๐ง Production Configuration
Create a .env.local
file with real values:
Or use system environment variables:
๐ก๏ธ Security
-
โ Development files use safe defaults and are included
-
โ Real secrets are excluded from Git
-
๐ Templates are available to simplify setup
๐ฏ Interaction Types
WASPL supports 12 interaction types:
-
Choice: Classic single or multiple choice
-
Choice Block: Choice with rich media support
-
Text Puzzle: Drag-and-drop gap-filling puzzle
-
Text Gaps: Traditional fill-in-the-blank text
-
Short Answer: Free-form answer with AI scoring
-
Hot Spot: Clickable image-based interactions
-
Order: Sequencing with drag-and-drop
-
Match: Match pairs between two columns
-
Making Pairs: Build and assign item pairs
-
Message: Instructional text without input
-
No Editor: Raw content mode
-
Default: Custom base interaction
๐ Default User
Default credentials:
-
Username:
admin
-
Password:
password
๐ Project Structure
๐ค Contributing
We welcome contributions!
Open an issue or submit a pull request.
Please follow the existing code style and use meaningful commit messages.
๐ง Setup for Contributors
-
Clone the repo:
-
(Optional) Enable AI features:
-
Recommended: use Docker
๐ License
This project is licensed under the AGPL v3.
See the LICENSE file for details.
No Comments