dev.metalisp.survey/README.org

133 lines
4.7 KiB
Org Mode
Raw Normal View History

2024-06-09 13:02:05 +02:00
#+title: dev.metalisp.survey
#+author: Marcus Kammer
#+email: marcus.kammer@metalisp.dev
2024-06-09 14:13:23 +02:00
* dev.metalisp.survey
** Introduction
2024-06-09 13:02:05 +02:00
I am developing a simple web application in Common Lisp that facilitates the
execution of the System Usability Scale (SUS) questionnaire. This app allows
users to easily conduct usability evaluations by presenting the standard SUS
questions and collecting responses. The goal is to streamline the process of
gathering and analyzing usability feedback.
2024-06-17 18:53:19 +02:00
The survey software developed aims to simplify the creation, administration and
integration of questionnaires into existing websites or software systems. The
use of flexible templates should enable a high degree of reusability and
adaptability of the survey components. Users can easily combine and analyze
data from multiple questionnaires within a single study, leading to a deeper
understanding of the collected data. The software is self-hosted, which means
that the data is stored on its own servers. This approach reinforces data
protection and gives users complete control over their data, which is
particularly important for data-sensitive areas. Through these features, the
survey web application strives to make a valuable contribution to research
projects, market research and other application areas where accurate data
collection and analysis is crucial.
2024-06-17 18:56:47 +02:00
*** Design Goals
- Integrate questionnaires into your own website or software: The software
enables seamless integration of questionnaires into existing digital
environments to improve user experience and simplify data collection.
- Reusability through templates: Through customizable templates, the software
offers an efficient solution for creating repeatable and consistent survey
formats for various use cases.
- Ability to combine data from multiple questionnaires into one study: Users
can merge and aggregate data from different questionnaires to provide more
comprehensive insights and analysis in a single study.
- Data protection through self-hosting: The self-hosting option ensures
complete data control and strengthens data protection as sensitive
information does not need to be transferred to external servers.
2024-06-09 14:13:23 +02:00
** Dependencies
2024-06-09 14:08:37 +02:00
- https://github.com/edicl/hunchentoot
- https://git.sr.ht/~marcuskammer/dev.metalisp.sbt
2024-06-09 14:13:23 +02:00
** Mailing list
- https://lists.sr.ht/~marcuskammer/dev.metalisp.survey
** Issue tracker
- https://todo.sr.ht/~marcuskammer/dev.metalisp.survey
2024-06-09 14:45:45 +02:00
** News Feed
- https://git.sr.ht/~marcuskammer/dev.metalisp.survey/log/main/rss.xml
2024-06-09 14:58:56 +02:00
** 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:
- [[http://www.sbcl.org/][SBCL]]
- [[https://ccl.clozure.com/][CCL]]
*** 2. Set up ASDF
- ASDF is typically bundled with modern Lisp implementations. However, if
it's not present, you can download it from [[https://gitlab.common-lisp.net/asdf/asdf][ASDF's repository]].
2024-06-09 18:40:24 +02:00
*** 3. Organize the project directory
2024-06-09 14:58:56 +02:00
- Place the =dev.metalisp.survey= project in the =~/common-lisp=
directory. Ensure the directory structure looks like this:
#+BEGIN_EXAMPLE
~/common-lisp/
└── dev.metalisp.survey/
├── dev.metalisp.survey.asd
└── src/
2024-06-09 15:01:58 +02:00
└── app.lisp
2024-06-09 14:58:56 +02:00
#+END_EXAMPLE
2024-06-09 18:40:24 +02:00
*** 4. Configure ASDF to find the project
2024-06-09 14:58:56 +02:00
- Open your Common Lisp REPL and run the following commands to set up the
ASDF central registry:
#+BEGIN_SRC lisp
;; Ensure ASDF is loaded
(require :asdf)
;; Add ~/common-lisp to the ASDF central registry
(push #p"~/common-lisp/" asdf:*central-registry*)
#+END_SRC
2024-06-09 18:40:24 +02:00
*** 5. Load the project
2024-06-09 14:58:56 +02:00
2024-06-09 15:01:58 +02:00
- In your REPL, load the project by running:
2024-06-09 14:58:56 +02:00
#+BEGIN_SRC lisp
(asdf:load-system :dev.metalisp.survey)
#+END_SRC
2024-06-09 18:40:24 +02:00
*** 6. Run the project
2024-06-09 14:58:56 +02:00
- After loading the system, you can run the main function or entry point of
2024-06-09 15:01:58 +02:00
the project.
2024-06-09 18:40:24 +02:00
=ml-survey:start=, you would execute:
2024-06-09 14:58:56 +02:00
#+BEGIN_SRC lisp
2024-06-09 18:40:24 +02:00
(ml-survey:start)
2024-06-09 14:58:56 +02:00
#+END_SRC
*** 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:
#+BEGIN_SRC lisp
(require :asdf)
(push #p"~/common-lisp/" asdf:*central-registry*)
#+END_SRC
2. Reload SBCL
- The next time you start SBCL, it will automatically include the
=~/common-lisp= directory in the ASDF central registry.
2024-06-09 14:13:23 +02:00
** License
2024-06-09 13:02:05 +02:00
MIT