Skip to content

Getting help

Smile is a free, open-source project and is provided with no warranty or guarantee of support. Effective use of this project assumes you know modern Javascript syntax, have some familiarity with typing commands in a terminal program, git, GitHub, and understand basic concepts about web servers and web design. Smile is designed to make life easier for programmers/developers. There are better packages and services for people looking for no-code solutions that avoid the need to program altogether including Qualtrics, SurveyMonkey, and Google Forms.

If you need help or are stuck we have collected some useful resources.

Documentation

Obviously, if you are reading this you are aware of the extensive documentation. You might be surprised how often common issues can be addressed by carefully reading the documentation. We put a lot of time into making it as clear and comprehensive as possible and keep it up to date.

Other resources

Technically, Smile is simply a collection of open-source tools that have been integrated into a single project. As a result, you can also look at the documentation for the underlying tools. For example, the following links might help learn more about the underlying technologies:

Javascript

Most of the code you need to write for Smile is in Javascript. Here are are useful resources for learning Javascript:

Vue.js

The core of Smile is built using the Vue.js framework. Here are some resources for the parts of the Vue.js ecosystem used in the project:

  • Learn Vue - useful website for learning the Vue.js framework
  • Vuejs tutorial - A tutorial for learning Vue.js
  • Vuejs docs - Complete docs for Vue.js
  • Vue Router used to jump between different pages on the timeline
  • Pinia is used to manage the underlying application state
  • VueUse collection of Vue utilities used in the project

Vite

Vite is the build tool used in the project. This compiles together the various libraries used during development so they load quickly on the participant's browser. In addition, Vite enables fast development of complex front-end Javascript applications. Here are some resources for learning more about Vite:

  • Vite - the Vite docs are quite comprehensive
  • Vitepress - this documentation website uses Vitepress, a static site generator built on Vite

CSS/Styling

  • Tailwind CSS - the CSS framework used in the project. The docs are quite intuitive.

Github

Unix/Shell commands

GitHub Discussions

If you can't find an answer to your question in the documentation, you can try posting in the GitHub Discussions on the base repo. This is a good place to ask questions, share tips, and propose new features.

GitHub Issues

If you think you have found a bug in the software, you can open an issue on the GitHub Issues. Please provide as much information as you can and also first search existing issues (both open and closed).

Released under the MIT License.