Difference between revisions of "Web development"

From TSG Doc
Jump to navigation Jump to search
m
m (Change url radcloud docs)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Web Application Development Possibilities at TSG =
+
Welcome to the TSG Web Development page!
  
== Overview ==
+
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.
  
Welcome to the TSG Software Development Possibilities page! This document outlines the various avenues and technologies available for software development within TSG, with a particular focus on creating software solutions for researchers. Whether you are a developer, project manager, or researcher, this guide aims to provide a comprehensive overview of the tools and frameworks at your disposal.
+
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.
  
== Web Applications ==
+
== 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]
 +
* https://gitlab.socsci.ru.nl/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/)
* '''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. (https://quasar.dev/)
 
+
* '''Pinia''': State management library. (https://pinia.vuejs.org/)
For advanced graphics rendering, consider:
+
* '''PixiJS''': A fast 2D rendering engine for the web. (https://pixijs.com/)
 
 
* '''PixiJS''': A fast 2D rendering engine for the web.
 
* '''HTML5 Canvas'''
 
  
 
=== Backend Development ===
 
=== Backend Development ===
Line 35: Line 53:
  
 
Technologies we currently use for deployment are:
 
Technologies we currently use for deployment are:
* '''Docker''': Docker is a platform designed to help developers build, share, and run container applications.
+
* '''Docker & Docker compose''': Docker is a platform designed to help developers build, share, and run container applications.
* '''Apache2'''
+
* '''Apache2''': https://httpd.apache.org/
* '''Gitlab pages'''
+
* '''NGINX''': https://nginx.org/en/
 +
* '''Gitlab pages''': https://docs.gitlab.com/ee/user/project/pages/
  
 
== Version Control and Collaboration ==
 
== Version Control and Collaboration ==
Line 51: 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.
+
* '''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.
+
* '''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 67: 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.
  
== Knowledge sharing ==
 
 
At TSG software development group, we believe in the philosophy that 'sharing is caring.'
 
 
To foster a collaborative and knowledge-sharing culture, we organize regular 'Sharing is Caring' sessions within our software development group. These sessions provide a platform for team members to showcase their latest projects, share valuable insights, and discuss innovative solutions. Whether it's a successful implementation, a challenging problem overcome, or a new technology exploration, these sessions are an opportunity for our developers to learn from each other's experiences and collectively enhance our skills.
 
 
By actively participating in 'Sharing is Caring' sessions, we strengthen our bonds as a team, stay updated on emerging trends, and collectively contribute to the growth and success of our software development endeavors.
 
 
== How to Get Started ==
 
 
For client assistance or inquiries about our software development services, feel free to reach out to the TSG at tsg@ru.nl for any inquiries or assistance. Our team is dedicated to ensuring a smooth experience and addressing queries promptly for the success of your projects.
 
 
Happy coding!
 
  
 
== Screenshots ==
 
== Screenshots ==

Latest revision as of 09:44, 26 June 2025

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 - 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.

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.

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.

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

TSG supports frontend development using technologies like:

  • HTML/CSS/JavaScript/TypeScript: Standard web technologies for creating interactive and responsive user interfaces.
  • 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/)

Backend Development

For backend development, TSG leverages:

  • Python: A versatile programming language.
  • 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:

Version Control and Collaboration

TSG promotes efficient version control and collaboration through:

  • Gitlab Projects: Hosted repositories for managing source code.Gitlab Social Sciences
  • Continuous Integration (CI) Pipelines: Automated build and testing processes integrated into Gitlab projects.

API Development

TSG encourages the creation of APIs to facilitate data exchange and integration. Key technologies include:

Graphics Rendering

For projects requiring advanced graphics rendering capabilities:

  • PixiJS: A powerful library for 2D web graphics rendering.
  • HTML5 Canvas
  • Others: We can take a look at what's available and fits your project.

Documentation

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.
  • MediaWiki Pages: Easily editable and accessible documentation for all projects.


Screenshots