Platform for Migaku (previously Mass Immersion Approach, or M.I.A.) to manage foreign language learning experiments.
- See demo here: https://migaku-experiment-platform.netlify.app/
- Front-end for experiment participants to register for experiments, complete custom surveys, and view past experiment results
- Backend design enables us to run concurrent experiments, re-use surveys across experiments, integrate with software like Anki (to collect/analyze more data, like user card collections), and query data across experiments/surveys for analysis
- Discord integration allows for restricting experiment participation to members of the Discord community and allows us to programmatically direct-message participants
(excluding many-to-many intermediary tables)
git clone https://github.com/shanrauf/Migaku-Experiment-Platform.git
- Ask Shan for .env credentials
- Setup MySQL local server (see Shan's config here)
npm run setup
# Installs dependencies, migrates development database, etc
To run the frontend or back-end, enter the relevant directory and run npm install && npm start
Using CodePipeline and CodeDeploy, the code is automatically deployed when you push code to Github.
cd / && sudo touch install
sudo nano install
and copy/paste instructions fromscripts/install_dependencies
sudo chmod u+x install && sudo ./install
sudo rm /etc/nginx/sites-available/default
sudo touch /etc/nginx/sites-available/default
and paste contents of/scripts/default
(frontend static files and /api proxy)sudo systemctl restart nginx
- Manually add
.env
file to/opt
- Push code to master to deploy