No description
Find a file
2024-06-23 13:23:14 +02:00
public Add favicon 2024-06-21 19:35:18 +02:00
src Use survey api to show survey properties 2024-06-23 13:23:14 +02:00
aws.tf Add example terraform file for aws 2024-06-20 20:26:24 +02:00
create-core-with-swank.lisp Split create core 2024-06-16 15:11:26 +02:00
create-core.lisp Split create core 2024-06-16 15:11:26 +02:00
dev.metalisp.survey.asd Dont use cdm for bootstrap, load local 2024-06-16 15:11:53 +02:00
Dockerfile Add example dockerfile 2024-06-01 10:55:35 +02:00
LICENSE Add LICENSE information 2024-06-02 22:55:58 +02:00
README.md Update README 2024-06-22 13:12:05 +02:00
README.org Update README 2024-06-22 13:12:05 +02:00
run-server.lisp Load survey package 2024-06-21 17:23:31 +02:00
run-server.sh Add bash line 2024-06-12 23:19:05 +02:00
sbcl-nginx.yml Checkout emacs.d 2024-06-21 19:00:02 +02:00
setup.sh Focus on used libs 2024-06-12 23:20:32 +02:00

Table of Contents

  1. dev.metalisp.survey
    1. Introduction
    2. Design Goals
    3. Dependencies
    4. Mailing list
    5. Issue tracker
    6. News Feed
    7. Installation instructions
      1. 1. Install a Common Lisp implementation
      2. 2. Set up ASDF
      3. 3. Organize the project directory
      4. 4. Configure ASDF to find the project
      5. 5. Load the project
      6. 6. Run the project
      7. Optional: Example Initialization in .sbclrc
    8. License

dev.metalisp.survey

Introduction

I am developing a web application using Common Lisp, designed to administer the System Usability Scale (SUS) questionnaire efficiently. This application simplifies the process of conducting usability evaluations by presenting SUS questions and collecting responses, streamlining both the gathering and analysis of usability feedback.

The software focuses on enhancing the ease of creating, managing, and integrating questionnaires within existing websites or software. Leveraging flexible templates, it offers a high level of reusability and adaptability. Data from multiple questionnaires can be synthesized within a single study, facilitating more profound insights. As a self-hosted solution, it assures enhanced data protection, granting users complete control over their data, a crucial feature for sensitive data environments. This application is aimed at significantly contributing to research projects, market research, and other fields where precise data collection and analysis are vital.

Design Goals

  1. Integration: The app integrates seamlessly into existing digital platforms, enhancing user experience and simplifying data capture.

  2. Reusability and Adaptability: Customizable templates allow for the creation of consistent and repeatable survey formats suitable for various applications.

  3. Data Synthesis: It supports combining data from multiple questionnaires into a single study, providing broader and more comprehensive analytical insights.

  4. Privacy and Control: With self-hosting, the software ensures complete data sovereignty and enhances privacy, avoiding the need to transfer sensitive data to external servers.

  5. Accessibility: The application is designed following the Web Content Accessibility Guidelines (WCAG) provided by WebAIM, ensuring that the survey is accessible to all users, including those with disabilities. This includes features such as keyboard navigation, screen reader compatibility, and high contrast modes to accommodate users with varying needs and abilities.

Dependencies

Mailing list

Issue tracker

News Feed

Installation instructions

1. Install a Common Lisp implementation

  • Ensure you have a Common Lisp implementation installed. Common options include SBCL (Steel Bank Common Lisp) and CCL (Clozure Common Lisp). You can download and install them from their respective websites:

2. Set up ASDF

  • ASDF is typically bundled with modern Lisp implementations. However, if its not present, you can download it from ASDFs repository.

3. Organize the project directory

  • Place the dev.metalisp.survey project in the ~/common-lisp directory. Ensure the directory structure looks like this:

    ~/common-lisp/
      └── dev.metalisp.survey/
          ├── dev.metalisp.survey.asd
          └── src/
              └── app.lisp
    

4. Configure ASDF to find the project

  • Open your Common Lisp REPL and run the following commands to set up the ASDF central registry:

    ;; Ensure ASDF is loaded
    (require :asdf)
    
    ;; Add ~/common-lisp to the ASDF central registry
    (push #p"~/common-lisp/" asdf:*central-registry*)
    

5. Load the project

  • In your REPL, load the project by running:

    (asdf:load-system :dev.metalisp.survey)
    

6. Run the project

  • After loading the system, you can run the main function or entry point of the project. ml-survey:start, you would execute:

    (ml-survey:start)
    

Optional: Example Initialization in .sbclrc

To make the ASDF configuration persistent across REPL sessions, you can add the setup to your .sbclrc file:

  1. Edit .sbclrc

    • Open (or create) the .sbclrc file in your home directory and add the following lines:

      (require :asdf)
      (push #p"~/common-lisp/" asdf:*central-registry*)
      
  2. Reload SBCL

    • The next time you start SBCL, it will automatically include the ~/common-lisp directory in the ASDF central registry.

License

MIT