UX Remote LAB is a user-friendly platform for usability testing and heuristic evaluation. Designed and provided by UX Remote LAB, it is a web application developed to assist project creators in gathering valuable insights from their users.
UX Remote LAB is an open-source platform designed to collect usability feedback from users. It allows you to gather user reviews, analyze them, and create comprehensive reports to better understand your application's usability. Additionally, it offers heuristic tests, enabling experts to evaluate your application's compliance with usability principles.
UX Remote LAB provides a collaborative environment for creators to share their projects and receive voluntary assistance with usability reviews. You can communicate with evaluators and send them invitations for testing your applications.
For commercial support, academic collaborations, and answers to common questions, please contact us by one of our communications channels:
- Discord Server
- Discussions
- Email:
ruxailab@gmail.com
- Node.js version: β€ 24.12.0
- Vue.js version: 3.5.26
- Vue CLI version: 5.0.8
- Vuetify version: 3.11.6
- Python version: 3.11.8
- Recommended formatter: Prettier - Code formatter
# Clone the repository
git clone https://github.com/uramakilab/remote-usability-lab.git
cd remote-usability-lab
# Install dependencies
npm install
# Run development server
npm run serveWant to contribute or set up a complete development environment?
Please see our CONTRIBUTING.md guide for:
- π³ Docker setup with Firebase Emulators (recommended)
- π§ Production Firebase configuration
- π Contribution workflow and guidelines
- β Code standards and testing
- π Issue reporting
For a visual walkthrough of running RUXAILAB with Firebase Emulators, check out: Tutorial - Running RUXAILAB with Firebase Emulators π₯οΈ
- Add
firebase.jsonfile with the following code snippet:
{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"functions": [
{
"predeploy": ["npm --prefix \"$RESOURCE_DIR\" run lint"],
"source": "functions",
"codebase": "functions"
},
{
"source": "weight_function",
"codebase": "weight_function",
"ignore": ["venv", ".git", "firebase-debug.log", "firebase-debug.*.log"]
}
],
"hosting": {
"site": "ruxailab-dev",
"public": "dist",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
},
"emulators": {
"auth": {
"port": 9099
},
"functions": {
"port": 5001
},
"firestore": {
"port": 8081
},
"hosting": {
"port": 5000
},
"ui": {
"enabled": true
},
"singleProjectMode": true,
"storage": {
"port": 9199
}
},
"storage": {
"rules": "storage.rules"
}
}Setup your Firebase Emulators by uncommenting the lines under 'emulators if running locally' in src/index.js.
Run:
firebase use (choose your option)
firebase emulators:start
To calculate heuristic weights, run:
# Run locally
cd functions
npm install
cd ..
firebase init functions
firebase use weight_function
firebase emulators:start --only functionsThen get the url, go to the .env file and add the following sentence:
// Your previous code
VUE_APP_FIREBASE_PYTHON_FUNCTION = 'url'If you want to deply the fuction, change your account from spark to blaze, run:
firebase deploy --only functionsGo to firebase panel -> functions -> on the right side of the function press "detailed usage statistics". There you can get the url and replace on .env file.
Use the npm scripts in the functions package to run local emulators with the correct environment or to deploy to Firebase project aliases defined in .firebaserc.
- Run local emulators (development env):
cd functions
npm install
npm run serve:dev- Run local emulators (production env):
cd functions
npm run serve:prod- Deploy functions (development alias
develop):
npm run deploy:dev- Deploy functions (production alias
prod):
npm run deploy:prodThese scripts load functions/.env.development or functions/.env.production depending on the target and use the develop and prod aliases from .firebaserc.
To build the Docker image for UX Remote LAB, navigate to the project's root directory and run the following command:
docker build -t uxremotelab .After building the image, you can run the application in a Docker container using:
Note: Ensure you have created the .env file and filled it with all required variables before running the following command:
docker run -d --env-file .env -p 5000:5000 uxremotelabVisit http://localhost:5000 in your browser to access the UX Remote LAB platform.
MIT Β© RUXAILAB