ParticipantPool is a self-hosted web-based tool to invite and manage participants for research studies (e.g., user experience, psychology, market research, customer experience).
This software was developed with Laravel PHP Framework and Vue JavaScript Framework.
Visit https://mmi.psychologie.unibas.ch/participantpool/ for a live version.
- Clone the repository or download a zip file
- Install XAMPP (https://www.apachefriends.org/index.html)
- Install composer (https://getcomposer.org/) and node.js (https://nodejs.org/en/)
- Install php 8.1+ on your system or use the php version provided with XAMPP
- Move the contents of the repository
participantpool
in the subfolderhtdocs
of XAMPP (e.g.,/Applications/XAMPP/htdocs/participantpool
) - Open a Terminal and navigate to this folder
- Run composer and npm
$ composer install
$ npm install
- Make a copy of the environment file
cp .env.example .env
nano .env
- Set the correct APP_URL in
.env
(e.g.,APP_URL=http://localhost/participantpool/public
) - Change database settings in
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=participantpool # make sure you create this database
DB_USERNAME=participantpool # or use root on a local system
DB_PASSWORD=participantpool # use the password you defined in mysql
- Set correct URL in webpack (e.g.,
/participantpool/public/
)
nano webpack.admin.mix.js
nano webpack.mix.js
- Make sure XAMPP has access to the
storage
folder
chmod -R 777 storage
- Generate php artisan key
/Applications/XAMPP/bin/php-8.1.6 artisan key:generate
- Set up database (with example)
/Applications/XAMPP/bin/php-8.1.6 artisan migrate:fresh --seed
- Compile development version
npm run dev
- Compile vue development resources
npm run vue
- Run Apache Web Server and the MySQL Database in your XAMPP manager
- Navigate to your participantpool instance:
http://localhost/participantpool/public/
- Log in with default admin user
- User: admin@example.com
- Password: 12345678