πββοΈ 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.
Wait, I thought you said this makes life fun and easy?
Yes. π« Smile makes common development tasks easier and more fun for people who are already programmers. It lower the amount of code you need to write to make a complex web experiment, test it, and deploy it online. Smile glues together many services that you would otherwise have to configure yourself. However, 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.
That all said, 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:
- Modern Javascript - a great resource for learning Javascript
- Interneting is hard - Friendly web development tutorials for complete beginners
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 β
- Bulma - the CSS framework used in the project. The docs are quite intuitive.
Github β
- Git for beginners
- Github Actions - used to deploy the project
Unix/Shell commands β
- The missing semester of your CS education - how to use the shell/terminal program, git, security concepts/encryption
- Shell.how - helps you learn and interpret different shell/terminal 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).