Web development: Difference between revisions
Jump to navigation
Jump to search
Wiki-admin (talk | contribs) No edit summary |
|||
| (16 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
Welcome to the TSG Web Development page! | |||
This document outlines the various technologies available for web development within TSG, | |||
with a particular focus on creating software solutions for researchers at RU FSW. | |||
If you have a project that involves web development and you need some help, contact us at tsg@ru.nl. | |||
For more information about our software development services, feel free to reach out as well. | |||
== | == Project examples == | ||
'''[[Radcloud|Radcloud - Experiment data acquisition solution for web-based experiments]]''' | |||
The TSG have created a web application platform to support users with temporary datastorage of web experiment data. | |||
* [https://radcloud.socsci.ru.nl/ Radcloud experiment management User interface made with VueJS + Quasar + Pinia] | |||
* [https://www.socsci.ru.nl/tsg/radcloud-docs Radcloud documentation site made with Vitepress] | |||
* [https://radcloud.socsci.ru.nl/swagger/ Radcloud OpenAPI documentation ] | |||
'''TUS Calculator''' | |||
The calculator can be used to estimate derived quantities like ultrasound intensity and mechanical index, which have consequences for both safety and efficacy of ultrasound protocols. | |||
It can be used as a quick check on input parameters before performing long-running, computationally intensive simulations. | |||
* [https://www.socsci.ru.nl/fusinitiative/tuscalculator/ TUS calculator made with VueJS + Quasar + Pinia + webworkers + HTML5 canvas] | |||
* {{Gitlab|fus-initiative/tus-calculator}} | |||
'''Picture book''' | |||
TSG created a webapp picture book framework to browse through a collection of movies. The movies were created by researcher and stimulus designer, and combined in the framework. | |||
* https://www.socsci.ru.nl/tsg/picture-book/ | |||
== Tech stack == | |||
Below you find a list of technologies we have used in the past and standardised. However, the field is constantly changing and we are happy to keep up. | |||
=== Frontend Development === | === Frontend Development === | ||
| Line 11: | Line 32: | ||
TSG supports frontend development using technologies like: | TSG supports frontend development using technologies like: | ||
* '''Vue.js''': A progressive JavaScript framework for building user interfaces. | * '''HTML/CSS/JavaScript/TypeScript''': Standard web technologies for creating interactive and responsive user interfaces. | ||
* '''Quasar Framework''': A Vue.js framework for building responsive and high-performance multi-platform applications. | * '''Vue.js''': A progressive JavaScript framework for building user interfaces. (https://vuejs.org/) | ||
* ''' | * '''Quasar Framework''': A Vue.js framework for building responsive and high-performance multi-platform applications. (https://quasar.dev/) | ||
* '''Pinia''': State management library. (https://pinia.vuejs.org/) | |||
* '''PixiJS''': A fast 2D rendering engine for the web. (https://pixijs.com/) | |||
* '''PixiJS''': A fast 2D rendering engine for the web. | |||
=== Backend Development === | === Backend Development === | ||
| Line 26: | Line 44: | ||
* '''Python''': A versatile programming language. | * '''Python''': A versatile programming language. | ||
* '''Django''': A high-level Python web framework that encourages rapid development and clean, pragmatic design. | * '''Django''': A high-level Python web framework that encourages rapid development and clean, pragmatic design. | ||
* '''Docker''': Docker is a platform designed to help developers build, share, and run container applications. | |||
* '''Postgres''': Relational database. | |||
== Web Application / Database Hosting == | |||
TSG provides web application hosting services to ensure the deployment and accessibility of your projects. | |||
Our hosting infrastructure is designed to support a variety of web applications, ranging from those built with Vue.js to Python-based applications using Django. | |||
Technologies we currently use for deployment are: | |||
* '''Docker & Docker compose''': Docker is a platform designed to help developers build, share, and run container applications. | |||
* '''Apache2''': https://httpd.apache.org/ | |||
* '''NGINX''': https://nginx.org/en/ | |||
* '''Gitlab pages''': https://docs.gitlab.com/ee/user/project/pages/ | |||
== Version Control and Collaboration == | == Version Control and Collaboration == | ||
| Line 39: | Line 70: | ||
* '''RESTful APIs''': Standardized APIs for seamless communication. | * '''RESTful APIs''': Standardized APIs for seamless communication. | ||
* ''' | * '''Django Rest Framework''': A web framework for building APIs quickly. (https://www.django-rest-framework.org/) | ||
* '''Postman''': Postman is an API platform for building and using APIs. (https://www.postman.com/) | |||
* '''OpenAPI''': (https://swagger.io/specification/) | |||
== Graphics Rendering == | == Graphics Rendering == | ||
| Line 53: | Line 86: | ||
Comprehensive documentation is crucial for successful software development. TSG recommends: | Comprehensive documentation is crucial for successful software development. TSG recommends: | ||
* '''Vitepress''': Fast way to create a documentation site using markdown. (https://vitepress.dev/) | |||
* '''Markdown''': Lightweight markup language for creating rich text documents. | * '''Markdown''': Lightweight markup language for creating rich text documents. | ||
* '''MediaWiki Pages''': Easily editable and accessible documentation for all projects. | * '''MediaWiki Pages''': Easily editable and accessible documentation for all projects. | ||
== Screenshots == | |||
<gallery> | |||
Screenshot 2023-11-30 at 14.39.51.png|Jain management website photo library example of a Django web application | |||
Tus-calculator.png|Tus calculator a single page application written in Vue3 | |||
Tus-calculator-custom-visualization.png|Tus calculator custom visualisation using HTML5 canvas | |||
</gallery> | |||