π Simple form and survey app using surveyjs. Using Vue.js for client side rendering and authentication via jwt
This project can be viewed at https://vuesurvey.lukeaz.ml
Project includes:
- Nodejs programming language
- Express framework for the web server
- JWT token for the authentication system
- Client side rendering using Vue.js
- Sqlite3 for database
- SurveyJS (JavaScript Survey and Form Library)
- Using DOMPurify to avoid xss
- Using fontawesome for some icons
- enter with the terminal in the /cacert folder
- have openssl installed and configured in the path
- generate certificates with
./jwt.sh
by bash
- enter with the terminal in the /cacert folder
- have openssl installed and configured in the path
- generate certificates with
./ca.sh
by bash
- open the .env file.
- change the PORT field to the desired port.
- if you use the docker the command to build the container must contain the correct port forwadding.
- have nodejs installed
- open the terminal and move to the project folder.
- install dependencies with
npm install --include=dev
. - build project with
npm run build
. - start the application with
npm start
.
- have docker installed.
- open terminal and move to the project folder.
- build the container image:
sudo docker build . -t luca/vuesurvey
. - build the container (it will be started automatically):
sudo docker run -p 443:443 --name VueSurvey -d luca/vuesurvey
. - see running containers:
sudo docker ps
. - start container:
docker start [container id]
. - shut down container:
docker stop [container id]
. - remove container:
docker rm [container id]
. - see the built images:
docker images -a
. - delete image:
docker rmi luca/vuesurvey
.